Blog do Urubatan
msgbartop
Desenvolvedor, Arquiteto, Palestrante, Coordenador do RSJUG, Patinador e Blogger
msgbarbottom

13 Jul 07 Code Contest - Valendo uma cortesia para o Just Java 2007

Code Contest

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 :D
Segue o problema …

Teste de QI do Einstein

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?

Dicas para resolução do problema

# 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!

Tags: ,

Reader's Comments

  1. |

    em prolog vale?

    Reply to this comment
  2. |

    vale sim, em qualquer linguagem …

    Reply to this comment
  3. |

    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

    Reply to this comment
  4. |

    Como tu é sem graça :P 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 :D

    Reply to this comment
  5. |

    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.

    Reply to this comment
  6. |

    Que gente que num sabe brincar :D Mas bani, a ta segunda solução vai contra as regras :P hehehehehe

    - 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

    Reply to this comment
  7. |

    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. ;)

    Reply to this comment
  8. |

    continua valendo :D quem quiser fazer baseado nos exemplos esteja a vontade :D

    Reply to this comment
  9. |

    comentário removido pois o hermes chato resolveu acabar com a brincadeira dos outros :P

    Espero ter contribuido ….VLW!

    Reply to this comment

Leave a Comment