Po drátě 4: řešení úlohy č. 5

Tato úloha by za normálních okolností měla dvě rozumné metody řešení. Jednou je předpokládat, že vyjde jediné heslo a vyluštit si, jaký průnik mají všechny ty regulární jazyky. Druhá je se na to vykašlat, pustit skriptu na standardní vstup nějaký slovník a doufat, že byla-li dosud všechna hesla ze slovníku, tohle bude ze slovníku taky. Smysl měla nakonec jen ta druhá metoda, protože se do úlohy vloudila chyba.

Komentář

Druhá část dvojúlohy (s první, jednoduchou, se účastníci setkali v úloze 3) neměla jít vyřešit úplně snadno. To byl nakonec jediný z jejích cílů, který se podařilo naplnit: Správně to nezvládla ani autorka, ani ostatní orgové a testeři. Třetí grep, jehož úkolem bylo původně jednoznačně určit délku hesla, pro samé vtípky s hovniválem nakonec postupně nabyl podoby, v které nefiltruje prakticky nic. Kvůli tomu byl skript ochotný uznávat mnohem víc hesel, než k trojkovému srdíčku příslušnou kadibudku. Robotek o tom ale nevěděl.

Průšvihu si orgové bohužel všimli až ve chvíli, kdy už na úloze někteří účastníci tvrdli skoro tři hodiny. Protože zároveň mnoho účastníků zkoušelo "špatná" hesla a přesto nakonec úlohou prošlo, nemohli jsme si dovolit napravit situaci jakkoliv jinak, než přidat nápovědu bez časové penalizace, zasílanou po třech hodinách, která vysvětlila, že správné heslo je smysluplné slovo (což už naštěstí vycházelo jednoznačně).

Ostudu si utrhla Anička:

perl -e 'print "Slibuju, že se dopříště naučím regexy\n"x100'