Это то же самое, что определить, является ли график двудольным. Чтобы сделать это, вы должны проверить, существует ли какой-либо цикл нечетной длины в графе. Для этого вы делаете поиск в ширину на графике. Если на каком-либо уровне в BFS существует какое-либо ребро между узлами одного и того же уровня, то график не является двудольным, то есть его нельзя раскрасить, используя только 2 цвета. (Предполагается, что соседние узлы должны быть разных цветов)