Temat: Jak zrobiliście Hotele?

Jak powyżej, jak zrobiliście to zadanie? Wzorcówka to jedno, ale wiadomo praktyka to drugie. Moje O(n^2) działa podobnie jak to rozwiązanie z omówienia. Jednak ja wierzchołek w którym ukorzeniam drzewo traktuje nie jako wierzchołek x(ten z omówienia, część wspólna ścieżek pomiędzy trójką wierzchołków), tylko jako wierzchołek z trójek postaci{a,b,c}(tutaj a to wierzchołek w którym ukorzeniłem drzewo, wtedy też znajduje wszystkie pary, które zawierają a i zaznaczam a jako wierzchołek przetworzony). Warto dodać, że wszystkich trójek {a,b,c} jest rzędu O(n^3), dlatego nie wyznaczam wprost wszystkich tych trójek, tylko je sprytnie zliczam w czasie O(n)(dla każdego drzewa).
Myślę że 95% osób które rozwiązało to zadanie ma tak jak na omówieniu, tylko mogą mieć ewentualnie inny wzorek :)
Jakie struktury danych wykorzystywaliscie jezeli chodzi o jezyk programowania?
yyy... tablicę? No i jakiś wektor do trzymania grafu, ale to jest oczywiste.
#include <vector>
#include <stack>
#include <queue>