Arbre binari amb totes les fulles iguals

Donat un arbre binari, les seves fulles són els subarbres que tenen les dues branques left i right buides. A més, en aquest problema considerarem exclusivament arbres binaris que no tenen subarbres amb només una branca buida. És a dir, en aquest tipus d’arbres un subarbre és: o bé una fulla, o bé les dues branques són subarbres no buits.

Implementa la funció tree_all_leaves_equal, que determina si, en un arbre binari d’enters, totes les fulles tenen el mateix valor:

/**
 * @brief Determina si totes les fulles d'un arbre tenen 
 *        el mateix valor.
 * 
 * @param  t  Un arbre binari d'enters
 * @returns  `true` si totes les fulles són iguals, 
 *           `false` altrament.
 *
 * @pre  En tots els subarbres de `t` es compleix: o bé són 
 *       fulles, o bé les dues branques són no buides.
 */
bool tree_all_leaves_equal(BinTree<int> t);

Observació

Els fitxers públics (icona del gatet) contenen:

main.cc el programa principal, amb la entrada/sortida feta
bintree.hh la classe BinTree<T>
bintree-io.hh l’entrada/sortida de BinTree<T>
bintree-inline.hh l’entrada/sortida "inline" de BinTree<T>
Makefile per compilar amb make còmodament
.vscode carpeta per compilar i debuggar amb VSCode

Cal implementar tree_all_leaves_equal en un fitxer .cc nou, compilar, i finalment enviar només el fitxer amb la funció.

Entrada

L’entrada comença amb "visual" o "inline" per indicar el format dels arbres d’entrada. Després ve una seqüència d’arbres en el format indicat. (D’això s’encarrega el programa principal).

Sortida

Per a cada arbre, la sortida és true si totes les fulles tenen el mateix valor, o false altrament. (D’això s’encarrega el programa principal.)

Informació del problema

Autoria: Pau Fernández

Generació: 2026-04-02T21:25:12.006Z

© Jutge.org, 2006–2026.
https://jutge.org