Zvieratá v našich národných parkoch sú ohrozené, pytliaci ich lovia a predávajú na suroviny. Miestna organizácia FIIT sa rozhodla, že tomu spraví koniec. Hlavná centrála zorganizovala zjazd členov za účelom premiestniť všetky zvieratá do bezpečia, kde sa už zvieratá nebudú musieť obávať pytliakov.
Nebude to až také jednoduché! V prirodzenom potravinovom reťazci nám niektoré druhy zvierat závisia od iných druhov. FIIT chce premiestniť všetky zvieratá, avšak naraz premiestni vždy len zvieratá jedného druhu. Aby im však niektoré zvieratá počas tohto procesu nevyhynuli treba zabezpečiť, aby počas procesu presúvania neboli skôr presunuté nejaké zvieratá ako tie, ktoré sú od nich závislé.
Pomôžte FIIT a napíšte program, ktorý rieši tento problém. V národnom parku je N druhov zvierat, pričom niektoré druhy závisia od niektorých iných. Vstup obsahuje jeden riadok pre každý druh zvieraťa. Riadky obsahujú popis potravinovej štruktúry daného zvieraťa:
- meno druhu zvieraťa
- zoznam druhov zvierat, na ktorých závisí.
Výstup by mal obsahovať poradie presúvania druhov zvierat tak, aby počas tohto presunu žiaden druh nevyhynul. Ak takéto poradie existuje, výstup by mal obsahovať N riadkov, na i-tom z nich meno zvieraťa, ktoré bude presunuté ako i-te v poradí. V opačnom prípade by mal výstup obsahovať slovo „Neexistuje!“.
Príklad vstupu:
godzilla mys bocian
bocian mys
mys
Výstup: godzilla
bocian
mys
Iný vstup: dino godzilla godzilla bocian dino bocian mys mysPríslušný výstup:
Neexistuje!Ak ste implementovali nejaký dátový typ, tak ho zdokumentujte (akú má signatúru, aký význam majú jednotlivé operácie).
Ak ste program testovali, popíšte ako.
Dostupné na:http://altair.sk/mediawiki/index.php/DSA#Prv.C3.A9_zadanie
Zadanie
dokumentácia,graph.c,graph.h, archív s kompletným zadaním