Heu de fer un programa que, donat un arbre binari de punts, intercanviï les coordenades x i y de cada punt. Fixeu-vos que us caldrà crear un nou arbre a partir de l’original, ja que no podem modificar directament els nodes de l’arbre (el mètode arrel() és un consultor).
Entrada
Com a entrada hi haurà la mida de l’arbre i els nodes de l’arbre binari en
postordre. Per cada node s’indica el seu valor i el nombre de fills (2 fills,
-1 indica un fill esquerra, 1 indica un fill dret o 0 fills). Podeu utilitzar
l’operador >>
definit dins la classe arbreBin
per llegir l’arbre
binari.
Sortida
Com a sortida es mostrarà l’estructura de l’arbre binari modificat, on s’ha
intercanviat les coordenades x i y de cada punt (podeu utilitzar
l’operador <<
definit dins la classe arbreBin
).
Observació
Cal fer servir la classe arbreBin
que us donem.
Heu d’enviar el fitxer amb la solució program.cpp
comprimida en un
fitxer .tar:
tar cvf program.tar program.cpp
A l’enviar la solució escriviu una anotació ("Solució iterativa" o "Solució recursiva") segons el tipus de solució que hagueu fet.
Observeu que per compilar us donem el Makefile
i els mòduls
arbreBin
i Punt
.
Input
5 7 8 0 8 9 0 3 4 2 5 6 0 1 2 2
Output
[(2, 1)] \__[(6, 5)] | \__. | \__. \__[(4, 3)] \__[(9, 8)] | \__. | \__. \__[(8, 7)] \__. \__.