Los puentes de Enelogonia P51971


Statement
 

pdf   zip

html

El país de Enelogonia está formado por n islas unidas por m puentes bidireccionales, de manera que desde cualquier isla se puede llegar a todas las otras a través de los puentes. Las leyes de Enelogonia prohiben que haya dos o más puentes uniendo las mismas islas, o puentes entre una isla y sí misma.

El gobierno quiere organizar un desfile que pase por todos los puentes exactamente una vez, y que empiece y termine en la capital, que es una isla desconocida para nosotros. El gobierno se ha dado cuenta de que con los puentes que hay actualmente quizá no sea posible organizar tal desfile, por lo que permite construir hasta k puentes nuevos. Vuestra tarea es decidir qué puentes construir para asegurar que el desfile sea posible.

Entrada

La entrada empieza con n, m y k. Siguen m pares x y que indican que las islas x e y estan unidas por un puente. Podéis asumir 4 ≤ n ≤ 500, kn − 1, y m + kn(n − 1)/2. Las islas se numeran a partir de 0.

Salida

En la primera línea, escribid el número p de puentes que se van a crear, entre 0 y k. Las siguientes p líneas deben contener dos enteros x e y separados por un espacio, indicando entre qué islas se va a crear un puente. Si existe más de una solución, escribid cualquiera de ellas. Si no hay solución posible con k o menos puentes, la salida tiene que ser una sola linea con un -1. Seguid exactamente el formato indicado.

Puntuación

  • test-1:   Resolver casos con n ≤ 7.  20 Puntos 
  • test-2:   Resolver casos con n impar y m+k = n(n − 1)/2.  10 Puntos 
  • test-3:   Resolver todo tipo de casos.  70 Puntos 
Public test cases
  • Input

    4 3 3
    0 1
    3 2
    1 2
    

    Output

    1
    0 3
    
  • Input

    6 10 5
    4 2
    5 1
    0 4
    3 5
    5 0
    2 5
    0 1
    1 2
    3 1
    3 4
    

    Output

    -1
    
  • Information
    Author
    Cesc Folch
    Language
    Spanish
    Official solutions
    C++
    User solutions