Modificar un arbre binari de punts X93954


Statement
 

pdf   zip   tar

html

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.

Public test cases
  • 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)]
             \__.
             \__.
    
  • Information
    Author
    Neus Català - Jordi Esteve
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make