Cereal 2.
No hay nada que les guste más a las vacas del Granjero Juan que el cereal para el desayuno. De hecho, las vacas tienen apetitos tan grandes que cada una comerá una caja entera de cereal en una sola comida.
La granja ha recibido recientemente un cargamentos con tipos diferentes de cereal
. Desafortunadamente, solamente hay una caja de cada cereal. Cada una de las
vacas
tiene un cereal favorito y un segundo cereal favorito. Cuando se le da a una vaca una selección de cereales para elegir un cereal una vaca ejecuta el siguiente proceso:
- Si la caja de su cereal favorito está aún disponible, tomarla y salir.
- En otro caso, si la caja de su segundo cereal favorito está aún disponible, tomarla y salir.
- En otro caso, ella dirá moo con desagrado y saldrá sin tomar ningún cereal.
Encontrar el número mínimo de vacas que se irán con hambre si usted las permuta óptimamente. También, halle cualquier permutación de las
vacas que consiga este mínimo.
Entrada
La primera línea contiene dos enteros separados por espacio y
. Para cada
, la línea i-ésima contiene dos enteros separados por espacio
y
y
denotando el primer y segundo cereal favorito de la vaca i-ésima.
Salida
Imprima el número mínimo de vacas que quedan con hambre, seguido por cualquier permutación de que logre este mínimo. Si hay varias
permutaciones, cualquiera será aceptada.
Ejemplo de Entrada
8 10
2 1
3 4
2 3
6 5
7 8
6 7
7 5
5 8
Ejemplo de Salida
1
1
3
2
8
4
6
5
7
Explicación
En este ejemplo, hay 8 vacas y 10 tipos de cereal.
Note que podemos resolver efectivamente las tres vacas de manera independiente de las últimas cinco, desde que no tienen cereales favoritos en común.
Si las tres primeras vacas eligen en el orden , entonces la vaca 1 elegirá el cereal 2, la vaca 2 elegirá el cereal 3, y la vaca 3 se irá con hambre.
Si las primeras tres vacas eligen en el orden , entonces la vaca 1 elegirá el cereal 2, la vaca 3 elegirá el cereal 3,
y la vaca 2 elegirá el cereal 4, ninguna de esas vacas se irá con hambre.
Por supuesto, hay otras permutaciones que producen que ninguna de las tres vacas se vaya con hambre. Por ejemplo, si las primers tres
vaca eligen en el orden [3,1,2] entonces la vaca 3 elegirá el cereal 2, la vaca 1 elegirá el cereal 1, y la vaca 2 elegirá el cereal 3;
nuevamente ninguna de las vacas se irá con hambre.
Se puede demostrar que de las cinco vacas restantes, al menos una debe irse con hambre.
Comments