Am rezolvat cele 3 parti: Compulsory, Optional si Bonus
Pentru Optional am folosit DFS pentru a parcurge nodurile iar la Bonus am creat un vector de obiecte ce contine instante ale propriei clase. Astfel fiecare obiect poate avea cati fii este necesar.