Turistas U20331


Statement
 

pdf   zip

Disponemos de un listado de las visitas de turistas a ciudades del mundo. Cada visita dice qué turista ha visitado qué ciudad en qué año.

Haz un programa que muestre los grupos de turistas que, por coincidencia, han visitado la misma ciudad en el mismo año.

Entrada

El listado de entrada consiste en una secuencia de líneas en el formato "<nom> <any> <ciutat>". Los nombres de turistas y ciudades son siempre una sola palabra; el año siempre tiene 4 dígitos.

Salida

Cada línea de la salida es una coincidencia de turistas y tiene el formato "<any> <ciutat>: <nom1> <nom2> ... <nomN>". Más en detalle, cada línea empieza con el año y el nombre de la ciudad separados por un espacio, seguido de ":", y la lista, ordenada por el nombre, de los turistas que han coincidido, separados por un espacio. Las líneas se ordenan, de forma creciente, por el año y después la ciudad (que también sería el orden lexicográfico de concatenar el año, un espacio, y la ciudad). Si una combinación año-ciudad no se ha visitado o solo la ha visitado un solo turista, no debe aparecer en el listado.

Observación

Este problema tiene como centro de interés la eficiencia.

Public test cases
  • Input

    Eve 2015 New_York
    Alice 2015 Paris
    Alice 2015 London
    Bob 2016 London
    Charlie 2015 New_York
    Alice 2016 Paris
    Alice 2016 New_York
    David 2015 New_York
    David 2016 Paris
    Charlie 2015 New_York
    

    Output

    2015 New_York: Charlie David Eve
    2016 Paris: Alice David
    
  • Information
    Author
    Pau Fernández
    Language
    Spanish
    Translator
    Pau Fernández
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    C++
    User solutions
    C++