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
