Mateixos amics Z49559


Statement
 

pdf   zip

Considerem un conjunt de persones i les seves amistats. L’amistat és simètrica: si l’Anna és amiga del Bernat, llavors el Bernat és amic de l’Anna.

Direm que dues persones tenen els mateixos amics si el conjunt d’amics de la primera és exactament igual al conjunt d’amics de la segona. Per exemple, si l’Anna és amiga del Bernat i la Carla, i la Diana també és amiga del Bernat i la Carla (i de ningú més), llavors l’Anna i la Diana tenen els mateixos amics.

Observeu que si dues persones tenen exactament els mateixos amics, llavors no poden ser amigues entre elles.

Feu un programa que llegeixi una llista de parelles d’amics i mostri tots els grups de persones que tenen els mateixos amics. Cada grup s’ha d’escriure en una línia, amb els noms ordenats alfabèticament.

Observació

En aquest problema el centre d’interès és l’eficiència. Cal trobar una forma intel·ligent d’agrupar les persones per evitar comparacions innecessàries.

L’ordre dels grups a la sortida no és important.

Entrada

L’entrada és una seqüència de parelles de noms (en minúscules, sense espais interns), separats per un espai, una parella per línia, acabada per fi d’entrada.

Sortida

Per a cada grup de persones amb els mateixos amics (de mida 2\geq 2), s’escriu una línia amb els noms del grup ordenats alfabèticament i separats per espais. L’ordre dels grups no és important.

Public test cases
  • Input

    anna bernat
    anna carla
    bernat diana
    carla diana
    

    Output

    bernat carla
    anna diana
    
  • Input

    alex bo
    alex clara
    alex dani
    bo enric
    bo fina
    clara enric
    clara fina
    dani enric
    dani fina
    gina hugo
    

    Output

    bo clara dani
    alex enric fina
    
  • Information
    Author
    Pau Fernández
    Language
    Catalan
    Other languages
    Spanish
    Official solutions
    C++
    User solutions
    C++