Una de les utilitats dels arbres és la classificació d’espècies animals i vegetals. (Per veure un exemple, consulteu la versió pdf o ps d’aquest enunciat.)
Feu un programa que llegeixi una classificació d’espècies, i que després decideixi a quina espècie pertany cada individu donat. Com que no disposem d’informació física dels individus, usarem un generador de nombres pseudoaleatoris per escollir per quina branca de l’arbre filogenètic cal baixar fins a trobar una fulla. Com a llavor del generador pseudoaleatori, per a cada nom donat usarem la suma del seu primer caràcter, del seu segon caràcter multiplicat per dos, del seu tercer caràcter multiplicat per quatre, etcètera.
Entrada
L’entrada consisteix en un arbre general de paraules amb el format explicat a l’exercici . A continuació ve la descripció d’un generador de nombres pseudoaleatoris segons s’explica a l’exercici , excepte que no es dona la llavor inicial s (ja que depèn de cada nom donat). Finalment, es donen una sèrie de noms d’individus.
Sortida
Per a cada nom de l’entrada, escriviu a quina espècie pertany seguint el format de l’exemple.
Observació
Trieu entre els r fills d’un node (fins i tot si r = 1) usant el codi de l’exercici tal qual.
Input
42 Primats 2 Prosimis 4 lemur 0 ai-ai 0 loris 0 tars 0 Simis 2 Micos_del_nou_mon 4 Cebidae 4 marmoset 0 tamari 0 caputxi 0 mico_esquirol 0 mico_nocturn 0 Pitheciidae 3 titi 0 saqui 0 uacari 0 Atelidae 3 aluata 0 ateles 0 mico_llanut 0 Catarrins 2 Micos_del_vell_mon 2 Cercopithecinae 4 cercopitec 0 macaco 0 babui 0 mandril 0 Colobinae 4 colob 0 langur 0 rinopitec 0 mico_nassut 0 Hominoides 2 gibo 0 Hominids 2 oranguta 0 Hominonae 3 gorilla 0 ximpanze 0 huma 0 606961 964 217495 Xita Floquet_de_neu Omer Jordi Salvador
Output
Xita: ximpanze Floquet_de_neu: gorilla Omer: mico_llanut Jordi: ai-ai Salvador: huma