Harija Potera un filozofu akmens beigÄs ir interesanta mÄ«kla. Harijs un Hermione ieiet istabÄ, pÄc tam ieejas tajÄ aizsprosto maÄ£iska uguns, un viÅi var to atstÄt, tikai atrisinot Å”Ädu mÄ«klu:
[no grÄmatas "Harijs Poters un filozofu akmens" "tautas tulkojuma"]JÅ«su priekÅ”Ä ir briesmas, un aiz jums ir glÄbÅ”ana,
Divi cilvÄki, kurus jÅ«s atradÄ«siet starp mums, jums palÄ«dzÄs;
Ar vienu no septiÅiem jÅ«s turpinÄsiet virzÄ«ties uz priekÅ”u
Otrs tevi tūlīt aizvedīs atpakaļ.
Mums divatÄ jÅ«s atradÄ«siet tikai nÄtru vÄ«nu,
Un trÄ«s nes iznÄ«cÄ«bu, slepus stÄvot rindÄ.
TÄpÄc izvÄlieties, kuru no tiem vÄlaties nobaudÄ«t,
Lai to izdarÄ«tu, mÄs sniedzam Äetrus padomus.
VeltÄ«gi inde mÄÄ£inÄja slÄpt savu nÄvÄjoÅ”o karstumu,
JÅ«s vienmÄr atradÄ«sit viÅu pa kreisi no vÄ«na,
Un ziniet, ka tiem, kas atrodas malÄs, ir cita dÄvana,
Bet, ja gribÄsi turpinÄt, neviens nepalÄ«dzÄs.
Mums visiem ir dažÄdi izmÄri, no malas lÄ«dz malai,
Tava nÄve nesÄž mazÄkajÄ, bet ne arÄ« lielÄkajÄ;
Otrais no labÄ gala un otrais no kreisÄs puses
ViÅi garÅ”o pÄc dvÄ«Åiem, lai gan tie nav lÄ«dzÄ«gi.
VienkÄrÅ”i sakot, viÅiem ir jÄsaprot, kuras pudeles satur kÄdas mikstÅ«ras.
Å ajÄ rakstÄ mÄs atrisinÄsim visas 42 iespÄjamÄs Ŕīs mÄ«klas variÄcijas, izmantojot programmÄÅ”anu, un uzzÄ«mÄsim rezultÄtu diagrammu (kÄ attÄlÄ iepriekÅ”, tikai daudz lielÄku).
Pagaidiet, no kurienes radÄs 42 iespÄjas?
Tas ir tÄpÄc, ka āmazÄkoā un ālielÄkoā dziru atraÅ”anÄs vietas nav norÄdÄ«tas. LielÄka var atrasties vienÄ no septiÅÄm vietÄm, kas dod 6 atlikuÅ”Äs iespÄjas mazÄkajai, kopÄ 7 * 6 = 42. NevarÄs precÄ«zi noskaidrot, kÄdu izkÄrtojumu JK Roulinga bija domÄjusi, izdomÄjot. ar Å”o mÄ«klu, ja vien viÅa par to nerunÄ jÅ«su Twitter. LÄ«dz brÄ«dim, kad pienÄks Ŕī neizbÄgamÄ diena, mÄs varam izvÄlÄties nejauÅ”u versiju un strÄdÄt ar to. TaÄu garantijas par tÄs atrisinÄmÄ«bu nebÅ«s, tÄpÄc strÄdÄjam kopÄjÄ labuma labÄ, atrisinot visus 42 mÄ«klas variantus (vai pierÄdot to neatrisinÄmÄ«bu).
LÄMU JAU
PirmkÄrt, Å”eit ir visi mÄ«klas ierobežojumi, kas pÄrrunÄti vienkÄrÅ”Ä izteiksmÄ:
- Ir divas nekaitīgas dziras, 3 indīgas, viena, kas ļauj iet uz priekŔu, un otra, kas ļauj atgriezties.
- Katras divas nekaitÄ«gas dziras kreisajÄ pusÄ ir indÄ«ga dzira.
- Potions abÄs pusÄs ir atŔķirÄ«gas, un neviens no tiem neļauj jums virzÄ«ties uz priekÅ”u.
- LielÄkÄs un mazÄkÄs pudeles nesatur indi.
- OtrÄ pudele kreisajÄ pusÄ un otrÄ pudele labajÄ pusÄ satur vienu un to paÅ”u dziru.
KÄ ar to tikt galÄ? ApsvÄrsim Å”Ädu iespÄju. Å emiet vÄrÄ, ka, kÄ teikts mÄ«klÄ, rindÄ ir 1 pudele mazÄka nekÄ visas pÄrÄjÄs pÄc izmÄra un 1 pudele lielÄka par visÄm pÄrÄjÄm.
MÄÄ£inÄsim stulbi iziet cauri visiem variantiem - Åemam pa vienai pudelei un atlasÄm visus iespÄjamos satura variantus.
PiemÄram, pirmajÄ pudelÄ nevar bÅ«t dziras, kas mÅ«s virza uz priekÅ”u ierobežojuma Nr.3 dÄļ. Tas nesatur arÄ« droÅ”u mikstÅ«ru ierobežojuma Nr.2 dÄļ - pa kreisi no tÄ nevar bÅ«t inde. TÄdÄjÄdi mums ir iespÄja izvÄlÄties indes dziru un atmest dziru. IzmÄÄ£inÄsim abus variantus.
NÄkamajos attÄlos zaļÄs dziras ir inde, oranÅ¾Ä krÄsa ir droÅ”i dzÄrieni, zilÄ krÄsa ir dziras, kas virzÄs atpakaļ, un violeta ir dziras, kas virzÄs uz priekÅ”u.
AtkÄrtosim Å”o procesu abÄm darba opcijÄm ā paÅemiet otro pudeli un pÄrmaiÅus izmÄÄ£inÄsim visas pieÅemamÄs satura opcijas. Tas dos mums sekojoÅ”o:
Turpinot rÄ«koties Å”ÄdÄ veidÄ un atmetot visas darba iespÄjas, kurÄs kÄdu pudeli nevar piepildÄ«t ar dziru, nepÄrkÄpjot uzskaitÄ«tos ierobežojumus, mÄs nonÄksim pie vienÄ«gÄ pieÅemamÄ varianta:
Protams, mums nebija nekÄdu garantiju, ka atradÄ«sim risinÄjumu. RisinÄjuma var nebÅ«t vai var bÅ«t vairÄki (un, ja jums ir vairÄki risinÄjumi, tas ir tas pats, ko mÄ«klu nav iespÄjams atrisinÄt, jo jÅ«s nezinÄt, kura mikstÅ«ra ir pareiza).
Algoritma piemÄroÅ”ana visÄm opcijÄm sniedz mums Å”Ädus risinÄjumus. 8 mÄ«klas versijas ir atrisinÄmas, 8 ir bez atrisinÄjuma un 26 ir vairÄki risinÄjumi.
VairÄk par risinÄjumiem
Vai visÄm atrisinÄtajÄm mÄ«klas versijÄm ir kaut kas kopÄ«gs? JÄ! Å emiet vÄrÄ, ka tajÄs mazÄkÄs vai lielÄkÄs pudeles atrodas 2. vai 6. vietÄ. Tas ļauj secinÄt, ka 2. un 6. pudele satur droÅ”as dziras ierobežojumu #4 un #5 dÄļ. Bez Ŕī soļa mÄs nevaram novÄrst iespÄju, ka Å”ajÄs pudelÄs ir inde, un mÄs nonÄkam pie vairÄkiem iespÄjamiem risinÄjumiem. ArÄ« atrisinÄtie varianti paredz, ka otrÄ "speciÄlÄ" pudele (mazÄkÄ vai lielÄkÄ) jÄnovieto 3. vai 4. vietÄ. PretÄjÄ gadÄ«jumÄ nevar atrast precÄ«zu dziras atraÅ”anÄs vietu, kas mÅ«s virza uz priekÅ”u.
RezultÄti
BeigÅ”u ar citÄtu no grÄmatas.
Hermione skaļi izdvesa, un Harijs ar izbrÄ«nu pamanÄ«ja, ka viÅa smaida ā tas bija pÄdÄjais, kas viÅam varÄja ienÄkt prÄtÄ. "Izcili," sacÄ«ja Hermione. - TÄ nav maÄ£ija - tÄ ir loÄ£ika, mÄ«kla. Daudziem lielÄkajiem burvjiem nav ne mazÄkÄs loÄ£ikas, un viÅi Å”eit paliktu uz visiem laikiem.
Bet pagaidiet - varbÅ«t mÄs varam izdomÄt mÄ«klas kanonisko versiju, pamatojoties uz grÄmatas dialogu:
"Sapratu," viÅa teica. "MazÄkÄ pudele mÅ«s vedÄ«s caur melno uguni un novedÄ«s pie Akmens."
...
"Un kurŔ no tiem ļaus jums atgriezties caur purpursarkano uguni?"
Hermione norÄdÄ«ja uz apaļu pudeli rindas labajÄ pusÄ.
SasodÄ«ts. Å Ä« opcija joprojÄm sniedz mums vairÄkus risinÄjumus. ÄivinÄt, DR.
Kods
Ja jÅ«s interesÄ kods Ŕīs mÄ«klas atrisinÄÅ”anai un diagrammu zÄ«mÄÅ”anai, varat to izdarÄ«t
Avots: www.habr.com