Donada la classe Arbre que permet gestionar arbres generals usant memòria dinàmica, cal implementar el mètode
que retorna el nivell a on està el primer element x fent un recorregut en post-ordre. Retorna −1 si x no hi és.
Cal enviar a jutge.org la següent especificació de la classe Arbre i la implementació del mètode dins del mateix fitxer. Indica dins d’un comentari a la capçalera del mètode el seu cost en funció del nombre d’elements n de l’arbre.
Per testejar la solució, jutge.org ja té implementats la resta de mètodes de la classe Arbre i un programa principal que llegeix un arbre general d’enters i desprès crida el mètode nivell_postordre.
Entrada
L’entrada consisteix en la descripció d’un arbre general d’enters (el seu recorregut en preordre, en el qual al valor de cada node li segueix el seu nombre de fills). A continuació segueix una seqüència d’enters que representen diferents valors per testejar nivell_postordre.
Sortida
Una línia per cada element x de la seqüència d’enters d’entrada, amb el nivell a on està el primer element x fent un recorregut en post-ordre (−1 si x no hi és).
Observació
Només cal enviar la classe requerida i la implementació del mètode nivell_postordre amb el seu cost en funció del nombre d’elements n de l’arbre. Pots ampliar la classe amb mètodes privats. Segueix estrictament la definició de la classe de l’enunciat.
Input
7 0 9 7
Output
-1 0
Input
7 2 8 0 -8 0 9 7 8 -8
Output
-1 0 1 1
Input
-7 3
8 0
4 2
3 1
0 1
6 0
-5 0
2 4
9 0
1 0
2 0
5 0
0
1
2
3
4
5
6
7
8
9
-7
Output
3 2 2 2 1 2 4 -1 1 2 0
Input
-7 3
8 0
4 2
2 1
1 1
9 0
-7 1
2 0
2 4
9 0
1 0
8 0
4 0
0
1
2
3
4
5
6
7
8
9
-7
Output
-1 3 2 -1 1 -1 -1 -1 1 4 2