Jak na to:
vytvořit z cílů a podcílů graf
projít graf do hloubky a pro každý uzel si pamatuji stav (FRESH, OPEN, CLOSED)
pokud při procházení narazím na OPEN uzel, vypsat chybu
pokud při procházení narazím na CLOSED uzel, nevypisovat příkazy (vznikla by duplicita)
rychlejší by měla být nerekurzivní varianta, ale dá se to v Javě stihnout i s rekurzí
Jedná se v podstatě o topologické uspořádání grafu.