Este es un desafío que originalmente fue un gusto para el Bundeswettbewerb Informatik alemán (competencia federal de informática [?]), Una competencia para estudiantes de secundaria. A diferencia de la pregunta original, donde tienes que encontrar una buena solución y escribir alguna documentación, quiero que juegues al golf. Intento replicar la pregunta lo mejor posible:
Desafío
Muchas ciudades en Europa tienen las llamadas ciudades gemelas . Este año, hay un Jubileo especial donde cada par de ciudades gemelas en la UE organiza un festival para celebrar su asociación. Para garantizar que ninguna ciudad tenga que organizar demasiados festivales, cada ciudad tiene un límite de festivales que puede organizar. ¿Es posible distribuir los festivales entre las ciudades gemelas de tal manera que cada par de ciudades gemelas organice un festival en una de las dos ciudades y ninguna ciudad organice más festivales de los que está permitido? En caso afirmativo, explique cómo.
Este es un mapa de algunas ciudades, sus asociaciones y sus límites de festivales.
asociaciones http://dl.dropbox.com/u/1869832/partnerships.png
Requisitos
- Su programa debe resolver el problema en un minuto cada uno para ambos casos de prueba. (Vea abajo)
- Consulte los casos de prueba para el formato de entrada.
El resultado debe estar vacío si no existe una solución y, de lo contrario, debe tener el siguiente formato: una línea para cada par de ciudades gemelas,
a
sicity1
organiza el festival, de lob
contrario.<city1>, <city2>, <a/b>
La solución con el menor número de caracteres que satisfaga los requisitos gana. En caso de empate, el programa que se presentó primero gana.
- Se aplican las reglas habituales de código de golf.
Casos de prueba
La tarea original tenía dos casos de prueba. Los he subido a github .
n
nodos, donde n
está el límite presupuestario de la ciudad).