Desafio de lógica: Três missionários e três canibais encontram-se na margem esquerda de um rio. Nessa margem também existe um bote que pode transpo...
Desafio de lógica: Três missionários e três canibais encontram-se na margem esquerda de um rio. Nessa margem também existe um bote que pode transportar uma ou duas pessoas. As seis pessoas pretendem todas passar para a margem direita (usando o bote). No entanto, os missionários têm de arranjar um plano para consegui-lo de modo que, em nenhuma circunstância, existam missionários numa margem em minoria relativamente aos canibais, pois têm receio do que lhes possa acontecer. Quando o bote chega à margem, os elementos do bote são contados como estando na margem. Assim, se houver apenas um canibal em uma margem, não podemos enviar a essa margem o bote com um canibal e um missionário, pois, ao chegar à outra margem, serão dois canibais contra um missionário. Lembre-se de que para o bote ir de uma margem a outra é necessário que alguém esteja remando, ou seja, o bote nunca atravessa vazio. Faça um algoritmo que exiba, passo a passo, como efetuar esta travessia de forma segura.
Aqui está um algoritmo que mostra passo a passo como realizar a travessia de forma segura:
Inicialize a margem esquerda com 3 missionários, 3 canibais e o bote vazio. Inicialize a margem direita vazia.
Enquanto houver missionários na margem esquerda:
3. Verifique se a margem esquerda está em uma situação de perigo (mais canibais do que missionários). Se estiver, volte ao passo 5.Selecione dois missionários (se disponíveis) para atravessar para a margem direita no bote. Se não houver dois missionários disponíveis, selecione um missionário e um canibal.
Mova o bote para a margem direita com as pessoas selecionadas no passo anterior.
Atualize o estado das margens e do bote.
Verifique se a margem direita está em uma situação de perigo (mais canibais do que missionários). Se estiver, volte ao passo 5.
Imprima o estado atual da travessia.
Verifique se todas as pessoas atravessaram com segurança para a margem direita. Se sim, termine o algoritmo.
Repita a partir do passo 2.
0
0
Faça como milhares de estudantes: teste grátis o Passei Direto
Compartilhar