Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

M8R

Malditos canibais

Recommended Posts

Três canibais e três missionários estão viajando juntos e chegam à margem de um rio. Eles desejam atravessar para a outra margem para, desta forma, continuar a viagem. O único meio de transporte disponível é um barco que comporta no máximo duas pessoas. Há uma outra dificuldade: em nenhum momento o número de canibais pode ser superior ao número de missionários pois desta forma os missionários estariam em grande perigo de vida. Como administrar a travessia?

tenho esse problema, um programador conseguiria fazer facilmente ele usando classes, funções ou algo assim...mas eu não cheguei nesse nível ainda e queria uma ajuda pra resolver esse problema usando apenas vetores, if, else, do, while, ou switch...nada muito avançado, porque senão bastaria eu pegar um pronto no google que usa classes

 

é mais pra entender mesmo, gostaria de visualizar como ficaria a busca heuristica ou não sei qual a melhor forma de se achar uma solução para o problema (não é criar o jogo em si, é achar a solução da maneira mais simples)

 

agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você sabe resolver a lógica da coisa primeiro?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Transportei 2 canibais

Voltei com 1 canibal , deixei do outro lado o outro canibal

Levei 2 canibais para o outro lado

Deixei 1 canibal do outro lado = 2 canibais

Voltei com 1 canibal, levei 2 missionários

Deixei 1 missionário e 1 canibal do outro lado,

Voltando com 1 canibal e 1 missionário

Troquei o canibal pelo missionário, ficando do lado esquerdo 3 missionários

Voltei com 1 canibal e busquei o outro canibal

Voltei com 1 canibal e busquei o último, totalizando do lado esquerdo 3 canibais e 3 missionário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já tem a lógica agora tente montar algo, assim + ow -:

Enquanto os 6 não atravessarem faça
    Viaja com 2;
    Se (tem 2 canibais e 1 monge) Então
        canibal come monge;
        Interrompe Enquanto
.
.

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

to apanhando pra esse troço simples =\

 

ate entendo que seria while missionarios_na_ilha2!=3 faça alguma coisa não sei quantos if eu tenho que colocar, porque tem o problema de que se ficar mais canibais que missionarios daria errado, so que como eu faço isso? colocar um monte de if dentro de if? se fosse fazer assim daria umas 3 páginas de if e seria estupidez porque seria quase igual fazer manualmente

 

desculpem a burrice heehhe

Compartilhar este post


Link para o post
Compartilhar em outros sites

É realmente a lógica é + ow - como eu te falei..

Soh que você terá q usar ifs aninhados sim!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.