Вирішуємо всі 42 версії загадки про зілля з Гаррі Поттера

Наприкінці книги Гаррі Поттер і філософський камінь є цікава загадка. Гаррі та Герміона входять до кімнати, після чого входи в неї блокує чарівний вогонь, і вийти з неї вони зможуть лише вирішивши наступну загадку:

Перед тобою - небезпека, а позаду - порятунок,
Допоможуть тобі двоє, кого знайдеш серед нас;
З однієї з сімох вперед продовжиш ти рух
Інша ж назад тебе зараз перенесе.
У двох із нас знайдеш ти лише кропив'яне вино,
А три несуть смерть, стоять у ряду потай.
Так вибирай же, з якої скуштувати судилося,
Для цього чотири підказки ми даємо.
Даремно отрута намагалася приховати свій смертоносний жар,
Завжди його знайдеш ти наліво від вина,
І знай, що ті, хто по краях, різний тримають дар,
Але якщо хочеш далі, не допоможе жодна.
Різнимся ми розміром все, від краю до краю,
Сидить не в меншій смерті, а й не в більшій теж;
Друга з правого кінця та з лівого друга
За смаком — неначе близнюки, хоч на вигляд несхожі.

[з «народного перекладу» книги «Гаррі Поттер та філософський камінь»]

Вирішуємо всі 42 версії загадки про зілля з Гаррі Поттера

Простіше кажучи, їм потрібно зрозуміти, в яких пляшках знаходяться якісь зілля.

У цій статті ми вирішимо всі 42 можливі варіанти цієї головоломки за допомогою програмування і намалюємо діаграму результатів (як на картинці вище, тільки набагато більшого розміру).

Секундочку, а звідки взялося 42 варіанти?

Все тому, що розташування «меншого» і «більшого» зілля не вказано. Велика може знаходитися на одному з семи місць, що дає 6 варіантів, що залишилися для меншої, разом 7 * 6 = 42. Дізнатися, яку саме розстановку мала на увазі Джоан Роулінг, вигадуючи цю загадку, не вийде, якщо тільки вона не розповість про це в своєму твіттері. Ну, а поки цей невідворотний день не настав, ми можемо вибрати випадкову версію і попрацювати з нею. Однак гарантій її розв'язання не буде, тому ми і працюємо на загальне благо, вирішуючи всі 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

Додати коментар або відгук