Autor da análise: gustpg
Resumo
No problema é definido um móbile (brinquedo infantil facilmente modelado com uma árvore) balanceado: Um móbile balanceado é aquele que dado um nó do mesmo, os filhos tem peso igual. O peso é definido como o número de nós, contando a raiz.
Solução
A solução fica simples com a implementação de uma função recursiva que retorna o peso do nó, caso seja verificado que o nó já não é balanceado, deve-se retornar um indicador (por exemplo -1, um valor impossível para "peso"). A função soma todos os pesos (chamando a ela mesma para cada filho do nó atual) e adiciona 1 (peso do próprio nó) caso seja retornado o indicador de desbalanceamento ou pesos diferentes, ela retorna o indicador.
Lembrando que o número de arestas é o número de nodos menos 1.
Testes
Entrada
9
1 0
2 0
3 0
4 1
5 1
6 2
7 2
8 3
9 8
Saída
bem
Discuta o problema