學習軌道
/
R
R
/
練習
/
斑馬謎題
斑馬謎題

斑馬謎題

困難

簡介

斑馬謎題是一個著名的邏輯謎題,其中有 5 棟房子,每棟漆成不同的顏色。 這些房子住著不同的居民,他們各有不同的國籍、養不同的寵物、喝不同的飲料,也有不同的嗜好。

為了幫你解開謎題,題目會給你 15 則描述解答的敘述。 不過,唯有把_全部_敘述裡的資訊結合起來,你才能找出這個謎題的解答。

Note

斑馬謎題是一種限制滿足問題(CSP)。 在這類問題中,你會有一組可能的值,以及一組限制條件,決定哪些值是有效的。 另一個知名的 CSP 是數獨。

說明

你的任務是解開斑馬謎題,找出以下兩個問題的答案:

  • 哪位居民喝水?
  • 誰養了斑馬?

謎題

以下 15 個陳述都是已知為真:

  1. 有五棟房子。
  2. 英國人住在紅色的房子裡。
  3. 西班牙人養狗。
  4. 住在綠色房子裡的人喝咖啡。
  5. 烏克蘭人喝茶。
  6. 綠色房子就在象牙色房子的正右方。
  7. 養蝸牛的人喜歡跳舞。
  8. 住在黃色房子裡的人是畫家。
  9. 住在中間房子裡的人喝牛奶。
  10. 挪威人住在第一棟房子裡。
  11. 喜歡閱讀的人住在養狐狸的人隔壁。
  12. 畫家的房子就在養馬的房子隔壁。
  13. 踢足球的人喝柳橙汁。
  14. 日本人下西洋棋。
  15. 挪威人住在藍色房子隔壁。

此外,這五棟房子各漆成不同的顏色,居民們的國籍、養的寵物、喝的飲料和從事的嗜好也各不相同。

Note

可能的解有 240 億種(5!⁵ = 24,883,200,000),所以試著盡可能排除掉越多解越好。


出處

Wikipedia連結會在新視窗或分頁中開啟
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
R Exercism

準備好開始 斑馬謎題 了嗎?

註冊 Exercism,透過 21 個概念111 個練習 和真人引導來學習並精通 R,全部免費。

深入探索 斑馬謎題!

探索從 240 億種可能解法中找出斑馬謎題解答的 8 種不同方法,包括盡早忽略無效排列、AC-3 演算法、非常簡潔的邏輯解法,甚至基因演算法!