Bom, a culpa deste code contest é do bruno que deu a idéia neste post.
- As regras são as seguintes, você pode escrever o código em qualquer linguagem
- Pode utilizar as bibliotecas que quiser
- Ganha o programa que resolver o problema mais rápido
- Em caso de empate, ganha a primeira submissão
- O programa precisa ter definidas como constantes as dicas que serão a entrada para o algoritmo para resolução do problema.
- A saída do programa precisa ser a lista com todas as características de todas as 5 casas
E qual o problema?
Resolver o Teste de QI do Einstein via programação
Segue o problema …
Albert Einstein escreveu esse teste de qi (raciocínio lógico) no século passado e afirmou que 98% das pessoas não são capazes de resolvê-lo.
1. Há 5 casas de diferentes cores;
2. Em cada casa mora uma pessoa de uma diferente nacionalidade;
3. Esses 5 proprietários bebem diferentes bebidas, fumam diferentes tipos de cigarros e têm um certo animal de estimação;
4. Nenhum deles têm o mesmo animal, fumam o mesmo cigarro ou bebem a mesma bebida.
A Questão é a seguinte: Quem tem um peixe como animal de estimação?
# O Inglês vive na casa Vermelha.
# O Sueco tem Cachorros como animais de estimação.
# O Dinamarquês bebe Chá.
# A casa Verde fica do lado esquerdo da casa Branca.
# O homem que vive na casa Verde bebe Café.
# O homem que fuma Pall Mall cria Pássaros.
# O homem que vive na casa Amarela fuma Dunhill.
# O homem que vive na casa do meio bebe Leite.
# O Norueguês vive na primeira casa.
# O homem que fuma Blends vive ao lado do que tem Gatos.
# O homem que cria Cavalos vive ao lado do que fuma Dunhill.
# O homem que fuma BlueMaster bebe Cerveja.
# O Alemão fuma Prince.
# O Norueguês vive ao lado da casa Azul.
# O homem que fuma Blends é vizinho do que bebe Água.
Quem se habilita?
If you enjoyed this post, make sure you subscribe to my RSS feed!
em prolog vale?
vale sim, em qualquer linguagem …
http://www.jjbresearch.org/Articles/EinsteinsRiddle.htm
http://www.jjbresearch.org/Articles/EinsteinsRiddle.xls
http://neil.fraser.name/news/2005/einstein.py
http://eigenclass.org/hiki.rb?einstein-riddle-solved-in-ruby
http://www.lambdassociates.org/prolog.htm
http://www.codeproject.com/scrapbook/einsteinRiddle.asp (sem usar computador)
http://www.knowing.net/PermaLink,guid,78ede8fa-e9b3-42cd-b506-63a00a49adba.aspx (C# com link para LISP)
Melhor mandar a cortesia para um tal de Mr Google
Como tu é sem graça
Mas continua o desafio, quem quiser concorrer vai ter que implementar, e agora eu vou ter que comparar para ver se não esta igual a um destes
Eu opto por resolver o problema na minha própria linguagem teórica, feita para o meu computador teórico que usa um paradigma computacional não determinístico, e que assim é capaz de resolver o problema em tempo polinomial.
Afinal, o problema é NP-completo.
Minha segunda solução caso a solução acima não seja aceita é resolver o problema manualmente e colocar um return da resposta no final. Qualquer coisa diferente disso, mesmo que seja uma heurística boa, no pior caso não vai ser nada rápido.
Que gente que num sabe brincar
hehehehehe
Mas bani, a ta segunda solução vai contra as regras
Agora que ia ficar divertido, o Mr. Google acabou com a farra.
Sugiro trocar o problema para o do isomorfismo de grafos. O segundo lugar fica com o ingresso para o Just Java e o primeiro com o Turing Award.
continua valendo
quem quiser fazer baseado nos exemplos esteja a vontade
comentário removido pois o hermes chato resolveu acabar com a brincadeira dos outros
Espero ter contribuido ….VLW!