Решаваме всички 42 версии на загадката за отвара от Хари Потър

В края на книгата „Гари Потър и философският камък“ има интересна загадка. Гари и Хърмаяни влизат в стаята, след което входовете й се блокират от магически огън, и ще успеят да излязат от нея, само ако разрешат следната загадка:

Пред теб — опасност, а зад теб — спасение,
Двама ще ти помогнат, когото намериш сред нас;
С една от седемте напред ще продължиш движението си
Друга веднага ще те върне назад.
В двама от нас ще намериш само коприва вино,
А три носят гибел, стоят в ред тайно.
Избирай тогава от коя да опиташ ти е съдено,
За това четири подсказки ние даваме.
Напразно яд се опитва да скрие смъртоносния си жар,
Винаги ще го намериш наляво от виното,
И знай, че тези, които са по краищата, държат различен дар,
Но ако искаш да продължиш, никой няма да помогне.
Разделяме се по размер всичките, от край до край,
Смъртта ти не е по-малка, но и не по-голяма;
Втората от десния край и втората от левия
По вкус — като близначки, въпреки че не си приличат.

[от „народния превод“ на книгата „Гари Потър и философският камък“]

Решаваме всички 42 версии на загадката за отвара от Хари Потър

И с прости думи, те трябва да разберат в кои бутилки се намират кои отрови.

В тази статия ще решим всички 42 възможни варианта на тази загадка чрез програмиране и ще нарисуваме диаграма на резултатите (както на картинката по-горе, само че значително по-голяма).

Момент, а откъде се появиха 42 варианта?

Всичко е, защото местоположенията на „по-малките“ и „по-големите“ отрови не са посочени. Голямата може да се намира на едно от седемте места, което дава 6 оставащи варианта за по-малката, общо 7 * 6 = 42. Не можем да разберем коя точно подредба е имала предвид Джоан Роулинг, създавайки тази загадка, освен ако не сподели това в своя Twitter. Но дотогава, когато този неотменим ден не дойде, можем да изберем случайна версия и да работим с нея. Въпреки това, гаранции за разрешимост няма да има, така че работим за общото благо, решавайки всички 42 варианта на загадката (или доказвайки тяхната неразрешимост).

ДАЙ ДА РЕШАВАМЕ ВЕЧЕ

На първо място, ето всички ограничения на загадката, формулирани в прост вид:

  1. Има две безобидни отрови, 3 отровни, една, която позволява да продължиш напред, и една, която позволява да се върнеш назад.
  2. От лявата страна на всяка от двете безобидни отрови стои отровна.
  3. Отваражите, зельята от двете страни са различни и нито едно от тях не позволява да напредвате.
  4. Най-голямата и най-малката бутилка не съдържат отрова.
  5. Втората бутилка отляво и втората бутилка отдясно съдържат едно и също зелье.

Как да се справим с това? Нека разгледаме следния вариант. Забележете, че, както се казва в загадката, в реда има 1 бутилка, която е по-малка от всички останали по размер, и 1 бутилка, която е по-голяма.

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Нека опитаме да преминем през всички варианти - да вземем по една бутилка и да подберем всички възможни варианти на съдържанието.

Например, в първата бутилка не може да има зелье, което ни напредва поради ограничение №3. Също така, тя не съдържа безопасно зелье поради ограничение №2 - отляво от нея не може да има отрова. Това ни оставя варианти с отровено зелье и зелье, което ни връща назад. Нека пробваме и двата варианта.

В следващите изображения зелените зелья обозначават отрова, оранжевите - безопасни напитки, сините - зелье, което ни връща назад, а пурпурното - което ни напредва.

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Нека повторим този процес за и двата работещи варианта - ще вземем втората бутилка и последователно ще опитаме всички допустими варианти на съдържанието. Това ще ни даде следното:

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Продължавайки по този начин и отхвърляйки всички работещи варианти, при които някоя бутилка не може да бъде напълнена със зелье без да наруши изброените ограничения, ще стигнем до единствено допустим вариант:

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Естествено, ние нямахме гаранции, че ще намерим решение. Може да няма решение или да има няколко (а ако имате няколко решения, това е равно на това, че загадката не може да бъде решена, тъй като не е ясно кое от зельето е вярното).

Прилагането на алгоритъма към всички варианти ни дава следните решения. 8 варианта на загадката са решими, 8 нямат решения и 26 имат няколко решения.

Решаваме всички 42 версии на загадката за отвара от Хари Потър

Повече за решенията

Има ли нещо общо между всички решавани варианти на загадката? Да! Обърнете внимание, че най-малките или най-големите бутилки стоят на 2-ро или 6-то място. Това ни позволява да заключим, че 2-рия и 6-тия бутилки съдържат безопасни отвари поради ограничения №4 и №5. Без тази стъпка не можем да изключим възможността тези бутилки да съдържат отрова и в крайна сметка стигаме до няколко възможни решения. Също така, решаваните варианти изискват, за да бъде втората „специална“ бутилка (най-малката или най-голямата) на 3-то или 4-то място. Иначе точното местоположение на отвора, който ни движи напред, не може да бъде открито.

Итог

Ще завърша с цитат от книгата.

Хърмаяни изсъска шумно, а Хари удивено забеляза, че тя се усмихва – това беше последното занятие, което би могло да му хрумне. "Гениално," каза Хърмаяни. "Това не е магия - това е логика, загадка. Мнозина от най-великите магьосници не притежават и грам логика и биха се заседяли тук завинаги."

Но, подождйте – може би ще успеем да разберем каноничната версия на загадката на базата на диалога от книгата:

"Разбрах," каза тя. "Най-малката бутилка ще ни премине през черния огън и към Камъка."

…

"А коя ще ти позволи да се върнеш през пурпурния огън?"

Хърмаяни посочи закръглената бутилка от дясната страна на реда.

По дяволите. Този вариант все пак ни дава няколко решения. Пишете туитове, ДР.

Код

Ако се интересувате от кода за решаване на тази загадка и рисуване на диаграми, можете да го изтеглите тук.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster