我们解决了所有42个版本的哈利波特魔药

哈利·波特(Harry Potter)和巫师之石(Sorcerer's Stone)的末尾有一个有趣的谜。 哈利和赫敏进入房间,之后房间的入口被魔法之火所阻挡,他们只能通过解决以下难题来摆脱房间:
面前有危险,后面有救恩,
有两个可以帮助您,您可以在我们中间找到他们。
有了七个前锋之一,您将继续前进
对方会立即将您带回。
在我们两个人中,您只会发现荨麻酒,
而三只熊的破坏,秘密地排成一列。
因此,请选择尝试
为此,我们给出四个线索。
毒药企图掩盖其致命的热量是徒劳的
您将永远在酒的左边找到他,
并且知道那些处于边缘的人会保留礼物,
但是,如果您想进一步推广,没有一个会有所帮助。
我们在大小上都各不相同,
你的死亡坐不下,但也坐不住。
右端第二个,左端第二个
他们喜欢双胞胎的味道,即使他们看起来有所不同。
[ 摘自《哈利·波特与魔法石》的“民间译本” ]



简而言之,他们需要了解哪些瓶子包含哪些药水。

在本文中,我们将使用编程解决此难题的所有42种可能的变体,并绘制结果图(如上图所示,仅大得多)。

请稍等,这42个选项来自哪里?


这是因为未指示“较小”和“较大”部分的位置。 大的可以在七个位置之一中,较小的一个可以提供6个剩余选项,总计7 * 6 =42。找出琼·罗琳在发明这个谜语时所考虑的那种安排将会失败,除非她在讲到在您的推特上。 同时,这一不可避免的日子尚未到来,我们可以选择一个随机版本并进行处理。 但是,无法保证其可解决性,这就是为什么我们为共同利益而努力,解决了难题的所有42个变体(或证明了它们的不可解决性)。

是已经决定


首先,这是难题的所有局限性,以一种简单的方式进行了重新表述:

  1. 有两种无害的药水,三种有毒,一种可以让你向前走,另一种可以让你往后走。
  2. 在这两种无害的药水的左侧都是有毒的。
  3. 两端的药水是不同的,它们都不会让你前进。
  4. 最大和最小的瓶子不含毒药。
  5. 左侧的第二个瓶子和右侧的第二个瓶子包含相同的药水。

该如何处理? 考虑以下选项。 请注意,正如谜语中所述,该行中的瓶子比其他所有瓶子小1瓶,比其他瓶子大1瓶。



让我们尝试愚蠢地对所有选项进行排序-取一瓶,然后为内容选择所有可能的选项。

例如,由于第3号限制,第一瓶中不能含有能将我们推向前的药水。 此外,由于2号限制,它也不包含安全药水-毒药不能位于其左侧。 这给我们留下了带有中毒药水和返回药水的选择权。 让我们尝试两个选项。

在以下图像中,绿色的药水指示有毒,橙色的-安全饮料,蓝色的药水向后移动,紫色的药水向前移动。





我们对两个工作选项都重复此过程-拿第二个瓶子,然后尝试所有有效的内含物选项。 这将为我们提供以下内容:









继续按照这种方式行事,并丢弃所有在不违反上述限制的情况下无法在瓶子中装满药水的工作选择,我们将得出唯一可以接受的选择:



自然,我们无法保证找到解决方案。 可能没有解决方案,也可能有多个解决方案(如果您有多个解决方案,这相当于无法解开谜语这一事实,因为不知道哪个药水是正确的)。

将算法应用于所有选项将为我们提供以下解决方案。 8个难题选项可以解决,8个没有解决方案,26个有几个解决方案。



了解有关解决方案的更多信息。


所有已解决的益智游戏变体有什么共同点吗? 是的 请注意,其中最小或最大的瓶子位于第二或第六位。 这可以使我们得出结论,由于第4号和第5号限制,第二瓶和第六瓶包含安全药水。 没有这一步骤,我们就无法消除这些瓶子中有毒的可能性,因此我们得出了几种可能的解决方案。 同样,可解决的选项要求第二个“特殊”瓶子(最小或最大)位于第三或第四位。 否则,找不到使我们前进的药水的确切位置。

总结


我将结束这本书的报价。
赫敏大声地呼气,哈利惊讶地发现她在微笑-这是他能想到的最后一课。 “太棒了,”赫敏说。 -这不是魔术-这是逻辑,一个谜。 许多伟大的魔术师不会一丁点逻辑,他们将永远被困在这里。”
但是,嘿,也许我们可以根据书中的对话找出谜语的规范版本:
“知道了,”她说。 “最小的瓶子将带领我们穿越黑火,到达石头。”

...

“又有谁能把你从紫火中带回来?”

赫敏指着那排右边的圆形瓶子。
妈的 此选项仍然为我们提供了几种解决方案。 写推文,博士。

代号


如果您对解决这个难题和绘制图表的代码感兴趣,可以在此处下载

Source: https://habr.com/ru/post/zh-CN471856/


All Articles