O Dexter, mascote do Responde Aí, precisa de exatamente 4L de água pra tomar banho. Mas ele só tem uma torneira e dois recipientes, A e B, com capacidades de 5L e 3L, respectivamente.
Escreva um algoritmo que consiga deixar exatamente 4L de água no recipiente A pra ajudar o Dexter.
Passo 1
E aí, seu doido! Nesse exercício a gente precisa utilizar a combinação dos dois recipientes pra conseguir os 4L de água que o Dexter precisa.
A primeira coisa que a gente tem que ter em mente é que não existe apenas uma solução. Exercícios de programação costumam ter várias respostas possíveis, mas a melhor solução é a que dá menos trabalho (menos etapas). Então, se você conseguiu de outra forma e com o mesmo número de etapas (ou menos), não tá errado, ok?!
Vamo lá! A gente pode começar enchendo o recipiente A.
Passo 2
Aí a gente despeja tudo que der no recipiente B
Se liga que agora a gente tem 2L no A e 3L no B.
Passo 3
O que a gente pode fazer é descartar tudo que tá no recipiente B. Agora, a gente sabe que só tem 2L de água no A.
Passo 4
E a gente pode despejar os 2L que restam em A no B!
Agora, o B tem 2L, e falta 1L pra chegar ao seu limite. Enquanto isso, o A ficou vazio!
Passo 5
A gente pode encher de novo o recipiente A!
Passo 6
Agora, se liga só, a gente pode despejar o conteúdo de A até preencher o B (que faltava 1L). O resultado é que vamos ter 4L no recipiente A.
Aeee! Agora sim o Dexter pode tomar banho com a quantidade de água que ele gosta!
Te vejo no próximo exercício!