Tarefa 11 - Esquema de pirâmide

Prazo de entrega recomendado:

Você simulará um esquema de pirâmide. Para representar os participantes do esquema, será necessário implementar uma árvore binária.


Um esquema de pirâmide é um modelo econômico não sustentável e considerado crime no país. Isso porque tem como fonte de receita a entrada de novos participantes, i.e., para fazer parte do negócio, cada participante precisa realizar um “investimento” inicial. Recentemente, foi criada a Agência Especializada em Pirâmides (AEP), com o objetivo de combater a proliferação desse tipo de golpe.

O mais novo golpe tem um conjunto de regras bem diferentes das anteriores, então, para estimar os riscos, a AEP conta com a sua ajuda para simular o esquema. Vamos às especificações.

Nesse esquema, cada participante pode recrutar até duas pessoas. Ao ser recrutado, um novo participante deve realizar um investimento inicial, que é acrescido de uma bonificação de 10% pagos por quem o recrutou. Além disso, quando um participante consegue recrutar duas pessoas, até seis níveis da pirâmide devem ser remunerados: cada um dos dois novos participantes paga 6% do seu capital para o recrutador, que depois paga 5% do seu capital para seu próprio recrutador, que depois paga 4% e assim por diante. Veja uma ilustração na figura abaixo.

Sua tarefa é implementar um programa piramide.c que simula o esquema.

Entrada

A entrada contém um relatório de eventos. A primeira linha detalha o nome do criador do esquema e seu investimento inicial (Todos os nomes com no máximo 20 caracteres). Cada linha seguinte representa uma nova associação, contendo o nome recrutador, quem ele recruta e o investimento inicial do novo participante.

Exemplo de entrada

Topo Jonathas 100
Jonathas recruta Camila 500 
Jonathas recruta Alexander 100
Camila recruta Joao 100
Camila recruta Denilson 200

Saída

Depois de cada evento, a saída deve mostrar o estado da pirâmide após realizados todos os pagamentos. A saída deve detalhar os dados dos participantes de cada nível, na ordem em que aparecem na pirâmide.

Exemplo de saída

Nivel 1: [Jonathas 100.00] 

Nivel 1: [Jonathas 50.00] 
Nivel 2: [Camila 550.00] 

Nivel 1: [Jonathas 79.60] 
Nivel 2: [Camila 517.00] [Alexander 103.40] 

Nivel 1: [Jonathas 79.60] 
Nivel 2: [Camila 507.00] [Alexander 103.40] 
Nivel 3: [Joao 110.00] 

Nivel 1: [Jonathas 104.94] 
Nivel 2: [Camila 481.46] [Alexander 103.40] 
Nivel 3: [Joao 103.40] [Denilson 206.80] 

Critérios

É obrigatório utilizar a estrutura de árvore binária para representar a pirâmide.

Correção

Esta tarefa será corrigida automaticamente sempre que você realizar um git push. Depois de terminada a tarefa, deve-se utilizar o botão na interface de notas para solicitar a correção de um monitor.

Turma AB: O peso desta tarefa é 4.