¿Cuál es el enfoque para resolver Gráficos Chef y Bipartitos?

Este no es un problema de flujo.

Solo necesita consumir los bordes y verificar si es válido o no.

Tomemos dos matrices de izquierda y derecha de tamaño igual al número de vértices que representa el grado de vértices.

Comience a asignar bordes como

1-> 1,2-> 2,… .n-> n

1-> 2,2-> 3,… .n-> 1

Hasta el número de bordes dados.

Donde el primero es del conjunto izquierdo y el segundo del conjunto derecho.

Cada vez que asigna un borde, incremente el grado de vértices.

por ejemplo: para el borde 1-> 1, izquierda [1] = izquierda [1] + 1, derecha [1] = derecha [1] +1

Por último, compruebe si el grado de todos los vértices está dentro del rango

d <= izquierda [i] <= D

d <= derecha [i] <= D

Para todos 1 <= i <= n

Si alguno de los vértices está fuera de rango, imprima -1

De lo contrario, imprime los bordes de la misma manera que se nos asignaron.

Como las restricciones no son muy estrictas, esto es suficiente para pasar los casos de prueba.

Feliz codificación 🙂