轨道
/
Nim
Nim
/
练习
/
斑马谜题
斑马谜题

斑马谜题

中等

简介

斑马谜题是一道著名的逻辑谜题:一共有五座房子,每座房子刷着不同的颜色。房子里住着不同的人,他们国籍不同,养的宠物不同,喝的饮料不同,抽的香烟品牌也不同。

为了帮你解开谜题,题目给出了 15 条陈述来描述答案。不过,只有把_所有_陈述里的信息结合起来,你才能找到谜题的答案。

Note

斑马谜题是一个约束满足问题(CSP)。 在这类问题中,你有一组可能的值,以及一组限制哪些值有效的约束。 另一个著名的 CSP 是数独。

说明

你的任务是解出斑马谜题,回答以下两个问题:

  • 哪位居民喝水?
  • 谁养斑马?

谜题

以下 15 条陈述都是已知为真的:

  1. 一共有 5 栋房子。
  2. 英国人住在红房子里。
  3. 西班牙人养狗。
  4. 绿房子里的人喝咖啡。
  5. 乌克兰人喝茶。
  6. 绿房子紧挨着象牙色房子的右边。
  7. 抽 Old Gold 的人养蜗牛。
  8. 黄房子里的人抽 Kools。
  9. 中间那栋房子里的人喝牛奶。
  10. 挪威人住在第一栋房子里。
  11. 抽 Chesterfields 的人住在养狐狸的人隔壁。
  12. 养马的房子隔壁那栋房子里的人抽 Kools。
  13. 抽 Lucky Strike 的人喝橙汁。
  14. 日本人抽 Parliaments。
  15. 挪威人住在蓝房子隔壁。

此外,这 5 栋房子分别涂成不同的颜色,住户的国籍、养的宠物、喝的饮料和抽的香烟品牌也都各不相同。

Note

一共有 240 亿种可能的解法(5!⁵ = 24,883,200,000),所以试着尽量多排除一些吧。


来源

Wikipedia链接会在新窗口或新标签页中打开
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Nim Exercism

准备好开始 斑马谜题 了吗?

注册 Exercism,借助 70 个练习 和真人导师指导,学习并掌握 Nim,全部免费。

深入探索 斑马谜题!

探索从 240 亿种可能解中找出斑马谜题答案的 8 种不同方法,包括尽早排除无效排列、AC-3 算法、极其简洁的基于逻辑的解法,甚至还有遗传算法!