Arbre genealògic


Enviar solució

Punts: 5 (parcial)
Temps Límit: 1.0s
Límit de memòria: 256M

Autors/es:
tipus del problema
Algorítmia, Recursivitat, Strings
Categoria
Codejam
Llenguatges permesos
C#, C++, Haskell, Java, Kotlin, PHP, Python

Richard està molt preocupat.

A l’escola li demanem que porti l’arbre genealògic de la seva família. Després de parlar amb els seus pares i avis, ha pogut recollir un llistat de dades que li indica per cada familiar, qui és el seu pare i la seva mare. El problema és que no sap que fer amb aquest llistat, amb tots els noms barrejats. No sap per on començar. Li pots ajudar?

Arbre genealògic

Entrada


La entrada comença amb múltiples línies. Cada línia conté un, dos o tres noms de persones. El primer és el nom de la persona, el segon i el tercer són els noms dels seus progenitors, si els tingués. Aquestes línies no estan ordenades per cap criteri. Així doncs, pot aparèixer primer una persona amb el nom dels seus progenitors, i més endavant que apareguin les dades dels seus progenitors.

A continuació, apareix una línia buida (sense contingut), i finalment una altra línia amb el nom de la persona a la que volem trobar els seus avantpassats.

Sortida


Per cada cas de prova cal indicar, en forma de llista ordenada ascendent, els noms de les persones que són avantpassats de la persona indicada.

Si no troba cap predecesor mostrarà SENSE AVAMPASSATS i no la llista buida

Exemple d'entrada

Adam
Eva
Cain Adam Eva
Abel Adam Eva
Set Adam Eva
Jared Set Eva
Miriam Set Eva
Elvira Abel Miriam
Ada Jared Cain

Ada

Exemple de sortida

[Adam, Cain, Eva, Jared, Set]


Comentaris


  • 0
    marc  comentat a les feb. 15, 2024, 4:51 p.m.

    Si no té avampassats, cal mostrar el missatge SENSE AVAMPASSATS i no la llista buida