Ir para conteúdo

POWERED BY:

Arquivado

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

yaoming

Permutação

Recommended Posts

Ae pessoal, to com um problema, que estou tentando resolver a algum tempo, sou iniciante no assunto, se alguem puder me dar uma ajuda. o exercicio é esse :

 

Imagine uma fila de N pessoas, todas com alturas distintas. Uma pessoa consegue ver a esquerda se todas as outras pessoas da esquerda a ela são menores do que ela. Da mesma forma, uma pessoa consegue ver a direita se todas as outras pessoas a direita a ela são menores do que ela.

Um crime aconteceu. Uma pessoa que estava a esquerda matou uma pessoa da direita utilizando um boomerang. Exatamente L pessoas da fila tem a visão desbloqueada a esquerda e exatamente R pessoas tem a visão desbloqueada a direita, servindo assim como testemunhas A defesa quer determinar quantas permutações de N pessoas existem para um dado L e um dado R. Para realizar este calculo, a defesa pediu para você implementar um programa.

Assuma que o seu programa receba a quantidade de pessoas na fila 1 N 13, a quantidade de pessoas (L) que tem a visão desbloqueada a esquerda, e a quantidade de pessoas ® que tem a visão desbloqueada a direita. O programa imprimirá a quantidade de permutações de N pessoas em que L pessoas podem ver a esquerda, e R pessoas podem ver a direita.

Exemplo:

Para N = 4, L = 3, e R = 1, há 3 permutações.

Para N = 10, L = 4, e R = 4, há 90720 permutações.

Para N = 11, L = 3 e R = 1, há 1026476 permutações

 

esse problema esta no livro:

Steve S. Skiena e Miguel A. Revilla. Programming Challenges.

Springer

 

se alguém conseguir me dar uma luz na resolução do msm, ficaria muito grato :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

yaoming,

 

Como você não postou o que já fez, vou presumir que você não sabe sequer o que é permutação.

 

Em uma rápida busca, mais exatamente na wikipédia, encontrei este link:

http://pt.wikipedia.org/wiki/Permuta%C3%A7%C3%A3o

 

Explica um pouco a teoria do que é a tal de permutação. E informa a fórmula matemática para resolver o problema.

Basta transforma essa fórmula em algorítmo, esta parte eu deixo para você fazer. :thumbsup:

 

Espero ter ajudado, FLW! :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu cara, mas o problema é que eu sei oq é permutação e tudo mais, tentei resolver o exercicio de várias formas, mas não consigo acertar :/

não estou num computador que tenha os arquivos salvos aqui, mais tarde posto oq eu tentei. mas se alguem puder me ajudar enquanto isso :)

o meu erro pelo que percebo é na programaçao msm.

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.