Arbre simètric X52876


Statement
 

pdf   zip   tar

html

Implementeu una funció RECURSIVA que, donat un arbre binari d’enters t, retorni true si l’arbre és simètric i false en cas contrari.

// Pre: t és un arbre binari no buit d'enters.
// Post: Retorna cert si l'arbre t és simètric i
//       false si no ho és.
bool simetricTree(BT t);

Aquí tenim un exemple de paràmetre d’entrada de la funció i la corresponent sortida:

simetricTree(7(6(4,3),6(3,4))) = true

Fixeu-vos que l’enunciat d’aquest exercici ja ofereix uns fitxers que haureu d’utilitzar per a compilar: Makefile, program.cpp, BinaryTree.hpp, simetricTree.hpp. Us falta crear el fitxer simetricTree.cpp amb els corresponents includes i implementar-hi la funció anterior. Quan pugeu la vostra solució al jutge, només cal que pugeu un tar construït així:

tar cf solution.tar simetricTree.cpp

Entrada

L’entrada té un nombre arbitrari de casos. Cada cas consisteix en una línia amb un string describint un arbre binari d’enters. Fixeu-vos en que el programa que us oferim ja s’encarrega de llegir aquestes entrades. Només cal que implementeu la funció abans esmentada.

Sortida

Per a cada cas, la sortida conté la corresponent avaluació de l’arbre. Fixeu-vos en que el programa que us oferim ja s’encarrega d’escriure aquesta avaluació. Només cal que implementeu la funció abans esmentada.

Public test cases
  • Input

    7(6(4,3),6(3,4))
    0(7(10,10(0,)),7(10,10(0,)))
    0(10(10(9,),2(10,)),10(2(,10),10(,9)))
    6(9(8,2),9(2,8))
    4(7(4,9),7(4,9))
    2(10(0,),10(0,))
    7(,9(,2))
    9(8(,9),8(9,))
    8(7(4,8),10(0(8,2),10(2,10)))
    6(0(,5),10)
    

    Output

    Simetric
    No simetric
    Simetric
    Simetric
    No simetric
    No simetric
    No simetric
    Simetric
    No simetric
    No simetric
    
  • Input

    4(4,6)
    10(7(7,),7(,7))
    10(0(,0),0(,0))
    2(10(9,),10(9,))
    7(10(0(9,8(2,)),6),10(6,0(8(,2),9)))
    3(10(1(9(10,6),),1),3)
    3(7(,9(4(,5),)),7(,9(4(,5),)))
    6(5(7(5,7),),5(7(5,7),))
    3(9(4(3(10,5),10),),9(4(3(10,5),10),))
    9(10(9(9(,7),),7(4(7,),6(,0))),10(9(9(,7),),7(4(7,),6(,0))))
    8(5(0(2(6,1),),8(9,)),5(0(2(6,1),),8(9,)))
    4(7(9(2,),),)
    6
    1(0(4(,10),),0(,4(10,)))
    3
    7(5(10,3(,1(0,1))),5(10,3(,1(0,1))))
    3
    10(10,4)
    6
    4(0(8(,7),9(7(9,4),2(3,))),0(8(,7),9(7(9,4),2(3,))))
    9(2,6)
    2(1(1,6),)
    5(5(9,3),)
    8(7(9,),7(9,))
    0(10(3,),10(,3))
    

    Output

    No simetric
    Simetric
    No simetric
    No simetric
    Simetric
    No simetric
    No simetric
    No simetric
    No simetric
    No simetric
    No simetric
    No simetric
    Simetric
    Simetric
    Simetric
    No simetric
    Simetric
    No simetric
    Simetric
    No simetric
    No simetric
    No simetric
    No simetric
    No simetric
    Simetric
    
  • Information
    Author
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make