O Zebra Puzzle é um famoso quebra-cabeça de lógica com cinco casas, cada uma pintada de uma cor diferente. As casas têm moradores diferentes, que têm nacionalidades diferentes, criam animais de estimação diferentes, bebem bebidas diferentes e têm hobbies diferentes.
Para ajudar você a resolver o quebra-cabeça, são dadas 15 afirmações que descrevem a solução. No entanto, só combinando as informações de todas as afirmações você vai conseguir encontrar a solução do quebra-cabeça.
O Zebra Puzzle é um problema de satisfação de restrições (CSP). Em um problema assim, você tem um conjunto de valores possíveis e um conjunto de restrições que limitam quais valores são válidos. Outro CSP bem conhecido é o Sudoku.
Sua tarefa é resolver o Enigma da Zebra para encontrar a resposta a estas duas perguntas:
As 15 afirmações a seguir são todas verdadeiras:
Além disso, cada uma das cinco casas é pintada de uma cor diferente, e seus moradores têm nacionalidades diferentes, têm animais de estimação diferentes, bebem bebidas diferentes e praticam hobbies diferentes.
Existem 24 bilhões (5!⁵ = 24.883.200.000) de soluções possíveis, então tente descartar o maior número possível de soluções.
Crie sua conta no Exercism para aprender e dominar Kotlin com 88 exercícios e mentoria humana de verdade, tudo de graça.
Explore 8 maneiras diferentes de encontrar a solução do Zebra Puzzle entre 24 bilhões de soluções possíveis, incluindo ignorar permutações inválidas o quanto antes, o algoritmo AC-3, uma solução baseada em lógica bem sucinta e até um algoritmo genético!