Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Entender como funciona.

Sobre o exemplo da logica do barca e de duras margem onde um lado tem 3 missionarios e 3 canibais e o outro lado nao tem nada, essa logica me deixou bem confuço na parte da logica do professor com as etapas de passar pra ela e voltar, por que teve uma hora que 2 canibais ja estavam na direita, e ele trouxe outro canibal em vez de um missionario, ai e fiquei confuso.

1 resposta
solução!

Oi, Otavio!

É super normal ficar com um "nó" na cabeça com esse desafio dos missionários e canibais. Ele é um clássico justamente porque testa nossa capacidade de seguir regras rígidas enquanto tentamos atingir um objetivo.

A confusão sobre por que trazer um canibal de volta, em vez de um missionário, acontece por causa da regra de segurança: em nenhum momento o número de canibais pode ser maior que o de missionários em qualquer uma das margens.

Por que um canibal volta no barco?

Vamos olhar para o estado que você mencionou:

  1. Primeira travessia: Dois canibais vão para a direita. Agora temos 3M e 1C na esquerda, e 0M e 2C na direita.

  2. A volta: Se um missionário voltasse para a esquerda, teríamos 4 missionários de um lado e 0 do outro. Mas o problema é quem fica na margem direita: se você deixasse 2 canibais sozinhos lá e tirasse o missionário (caso houvesse um), não haveria problema. Porém, no início, só temos canibais na margem direita.

  3. A lógica do professor: Ele traz um canibal de volta para que, na próxima viagem, ele possa levar mais canibais e "limpar" a margem esquerda antes de começar a mexer nos missionários.

O ponto crítico da sua dúvida

Se o professor trouxesse um missionário da direita para a esquerda (supondo que ele já tivesse atravessado), e ficassem canibais sozinhos na margem direita, não haveria problema. O problema real é quando temos, por exemplo, 2 canibais e 1 missionário em um mesmo lugar, ali o missionário seria "jantado".

A estratégia usada foi concentrar os canibais do lado direito primeiro para que, quando os missionários começassem a atravessar, eles estivessem em número igual ou superior aos canibais que já estão lá.

Essa lógica de "vai e vem" parece repetitiva, mas é o que garante que ninguém corra perigo em nenhuma das 11 etapas do algoritmo.

Conseguiu visualizar melhor por que o "barco não pode voltar sozinho" e por que a escolha de quem volta é sempre para proteger os missionários que restam?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!