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?
Se você gostou deste post, lembre-se de assinar o RSS feed do blog, para ser notificado de novos posts!
em prolog vale?
Reply to this commentvale sim, em qualquer linguagem …
Reply to this commenthttp://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
Reply to this commentComo 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
Reply to this commentEu 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.
Reply to this commentQue gente que num sabe brincar
Mas bani, a ta segunda solução vai contra as regras
hehehehehe
Reply to this commentAgora 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.
Reply to this commentcontinua valendo
quem quiser fazer baseado nos exemplos esteja a vontade
Reply to this commentcomentário removido pois o hermes chato resolveu acabar com a brincadeira dos outros
Espero ter contribuido ….VLW!
Reply to this comment