Zadanie

Prechádzal som sa po lese, až som našiel perníkovú chalúpku. Vošiel som dnu, že sa poobzerám, keď tu zrazu do chalúpky vošlo \(5\) trpaslíkov. Každý z nich mal čiapočku – buď modrú, alebo červenú. Trpaslík s modrou čiapočkou vždy hovorí pravdu, trpaslík s červenou čiapočkou vždy klame. Každý z nich vidí na čiapočky ostatných, no nie na svoju. Postupne mi povedali:

  • Lavórik: „Vidím \(4\) modré čiapočky.“

  • Kuckuc: „Vidím \(3\) modré čiapočky a \(1\) červenú.“

  • Bojkoš: „Vidím \(1\) modrú čiapočku a \(3\) červené.“

  • Chrapoš: „Vidím \(4\) červené čiapočky.“

  • Havoš nepovedal nič.

Som však farboslepý, a teda potrebujem detektor lži. Alternatívne kúpim aj riešenie tejto úlohy, v ktorom zistíte, ktorý trpaslík má čiapočku ktorej farby. V prípade spokojnosti ponúkam až 9 bodov.

Začnime Lavórikovým tvrdením. Ak by hovoril pravdu, teda by mal modrú čiapku, tak by všetci museli hovoriť pravdu a mať modré čiapky, čo nie je možné, keďže niektorí tvrdia, že vidia červené čiapky. Lavórik má teda červenú čiapku.

Ďalej, keby Kuckuc hovoril pravdu a mal modrú čiapku, tak by ostatní traja okrem Lavórika, a teda aj Bojkoš, museli hovoriť pravdu, ale to, že Bojkoš vidí 3 červené čiapky, je v spore s tým, že Kuckuc vidí 3 modré, keďže spolu je čiapok iba 5, takže aj Kuckuc musí mať červenú čiapku.

Pozrime sa na Chrapoša. Ak by ten mal modrú čiapku, tak všetci ostatní by museli mať červené a klamať. Lenže potom, keď sa pozrieme na Bojkošovu situáciu, tak ten by skutočne videl Chrapošovu modrú čiapku a ostatné 3 červené, takže by vlastne hovoril pravdu, čo je zas v spore s tým, že by mal červenú čiapku. Preto aj Chrapoš klame a má červenú čiapku.

Ostávajú už len Bojkoš a Havoš. Ak by mal Bojkoš červenú čiapku a klamal by, tak by musel mať červenú čiapku aj Havoš, aby Bojkošovo tvrdenie nebolo pravdivé (lebo už teraz vieme, že 3 červené čiapky skutočne vidí). Lenže v tom prípade by sme sa dostali do situácie, že Chrapoš by skutočne videl 4 červené čiapky, čo je v spore s tým, že on má červenú čiapku, čo ale (ako sme si ukázali) musí mať.

Takže zostáva nám jedine možnosť, že Bojkoš má modrú čiapku a v tom prípade má Havoš tiež modrú čiapku, aby bolo Bojkošovo tvrdenie pravdivé.

Už len overíme, či v tomto prípade sedí aj všetko ostatné. V tejto situácii sú ale skutočne Lavórikove, Kuckucove aj Chrapošove tvrdenia nepravdivé a Bojkošovo je pravdivé, takže toto je jediná možná situácia, ktorá mohla nastať.

Diskusia

Tu môžte voľne diskutovať o riešení, deliť sa o svoje kusy kódu a podobne.

Pre pridávanie komentárov sa musíš prihlásiť.