Гарри Поттерден дары табышмактын бардык 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-орунга коюлушун талап кылат. Болбосо, бизди алдыга жылдырган дары-дармектин так орду табылбайт.

натыйжалары

Сөзүмдү китептен цитата менен аяктайын.

Гермиона үнүн катуу чыгарып, анын жылмайып жатканын байкап, Гарри таң калды – бул анын оюна келген акыркы нерсе болчу. — Мыкты, — деди Гермиона. - Бул сыйкыр эмес - бул логика, табышмак. Көптөгөн эң улуу сыйкырчылардын логикасы жок, алар бул жерде түбөлүккө тыгылып калмак».

Бирок бир аз күтө туруңуз - балким, биз китептеги диалогдун негизинде табышмактын канондук версиясын таба алабыз:

"Түшүндүм" деди ал. "Эң кичинекей бөтөлкө бизди кара от менен Ташка алып барат."

...

"Анан кимиси сага кочкул оттун арасынан кайтууга мүмкүндүк берет?"

Гермиона катардын оң жагындагы тегерек бөтөлкөнү көрсөттү.

Шайтан алгыр. Бул параметр дагы эле бизге бир нече чечимдерди берет. Tweet, DR.

коду

Эгер сизди бул табышмакты чечүү жана диаграммаларды тартуу үчүн код кызыктырса, анда болот бул жерден жүктөп алуу.

Source: www.habr.com

Комментарий кошуу