Zadaním tejto šifry je spreadsheet.
Silne odporúčame šifru riešiť priamo v Google Sheets vo vlastnej kópii zadania.
(Považujeme za veľmi pravdepodobné, že iné tabuľkové procesory nebudú zvládať šifru korektne zobrazovať.)
heslo: OBELIX
V prvom stĺpci vidíme "heslo bude tu" a za tým nejaký garbage. Tam asi bude heslo. Keď sa pozrieme do políčok, kde má byť heslo, zhrozíme sa a ideme radšej ozaj lúštiť šifru.
Celkom prirodzené je skúsiť indície nahradiť v bunke slovom, ktoré napovedajú. Keď skúsime do bielej bunky s indíciou napísať čokoľvek veľkými písmenami, zmení sa nám vľavo jedno políčko na oranžové a objaví sa na ňom nové písmenko. Keď trafíme správnu odpoveď, tak je príslušné políčko vľavo zelené.
Takto vieme doplniť prvých 11 indícií - tie na bielych políčkach. Okrem používania veľkých písmen sa počas tohto kroku naučíme používať aj diakritiku. (Explictne to hovorí jedna indícia, navyše ak vyplníme všetko bez diakritiky, tak práve slová s diakritikou ostanú oranžové. Pri inej úprave šifry sme ju ešte zľahčili tým, že sme zmenili jednu indíciu tak, aby mala odpoveď HIV. Ten je prirodzené písať veľkými písmenami.) Nápis vľavo sa zmení z „heslo bude tu“ na „VLOZTE HESLO“.
Doplnené slová a riadok v ktorom sa každé z nich nachádza:
54: OLIVY 10: TEXT 5: VÝSTAVA 4: HIV 6: ZVIERA 1: PRIBINA 1: TEÓRIÍ 56: ŠALVIA 601: SRDCIAR 11: MEXIKO 150: PRACLÍK
Okrem toho celkom pomôže, ak si všimneme, že dve indície vedľa seba v prvom riadku začínajú slovami „Veľké“ a „Písmená“. Všetky indície v celom zadaní sú písané zdanlivo zbytočne rozvláčne, a to preto, aby začínali správnymi slovami. Keď si prečítame prvé slová indícií, dostaneme v prvej časti zadania (biele políčka, vety končiace bodkou) text Tieto vety nahraď slovami, použi veľké písmená, zelené možno máš dobre.
(Slovo „možno“ v predchádzajúcej vete upozorňuje, že platí len implikácia „ak to máš dobre, svieti ti to na zeleno“ ale nie nutne aj opačná. Aby sa nedalo riešenie ľahko získať hrubou silou, spreadsheet občas vysvieti na zeleno aj nesprávne riešenia. Pre programátorov: farba sa počíta podľa jednoduchého hashu s veľa kolíziami.)
Z druhej časti zadania (všetko v prvom riadku, červené políčka, vety končiace otáznikom) si rovnako prečítame už dôležitejšiu inštrukciu: Tieto slová treba aj umiestniť do správnych riadkov.
Slová v druhej časti sú SENDVIČ, DIVADLO, KRMIVO, CLIVOTA, GALAXIA, SKLOVINA, HVIEZDA a POLE.
Na vyriešenie šifry teda potrebujeme odhaliť princíp, podľa ktorého sú slová umiestňované do riadkov tabuľky. Tu sa dá chytiť veľa indícií: dvoch slov s X niekde okolo riadku 10, pomerne okrúhlych čísel typu 601, dvojice podobných slov v riadkoch 54 (OLIVY) a 56 (MALVICA), alebo aj niektorého z nových slov, obzvlášť návodná je CLIVOTA.
Pointa je, že v slovách šifry sú ukryté rímske čísla: oLIVy sú v riadku LIV = 54, srDCIar je v riadku DCI = 601, a tak ďalej.
Na slovách, ktoré už máme umiestnené, si teraz ešte môžeme všimnúť jednu lekciu: prIbIna je v riadku 1 (hoci by sme ho možno čakali v riadku 2 ako II?) a VýstaVa v riadku 5. Ok, „VV“ nie je platné číslo, takže asi má v sebe Pribina dve jednotky a výstava dve päťky.
Toto bude relevantné, keď sa dostaneme do druhej časti šifry. Správne umiestnené SENDVIČ, CLIVOTA a POLE spôsobia, že ich políčka v prvom riadku sú zelené. Čo ale napríklad s takým DIVADLOm? To obsahuje DIV aj DL. Snaha umiestniť ho do hociktorého z týchto dvoch riadkov (504 alebo 550) spôsobí zmenu farby z červenej na oranžovú: sme na dobrej ceste, ale ešte nie doma.
Ak ste si inštrukciu „slová umiestniť do správnych riadkov“ zinterpretovali ako „každé slovo umiestniť do správneho riadku“, v tejto fáze riešenia ste museli tento mentálny blok prekonať. Správne riešenie dilemy, čo s divadlom, je jednoduché: umiestniť ho treba do oboch správnych riadkov! (Konzistentne s tým, VýstaVa je v riadku 5 a zároveň v riadku 5.) A inštrukciu, ktorú ste dostali, treba čítať „každé slovo umiestniť do správnych riadkov“ :)
No dobre, to rieši všetky ostávajúce slová okrem KRMIVO. Všetky stĺpce až na tento máme na vrchu zelené, a ak sme si všimli, ktoré stĺpce ovplyvňujú ktoré písmená tajničky, vieme, že končí na MIKS.
KRMIVO by sme chceli umiestniť do riadku MIV = 1004.
Problém: spreadsheet má len 1000 riadkov.
Riešenie: think outside the box. Alebo aspoň zväčši box. Pridáme spreadsheetu na spodku (aspoň) štyri nové riadky, vyplníme KRMIVO do riadku 1004 a čítame skoro-finálnu tajničku 9 A 59 KOMIKS.
9 je IX, 59 je LIX, a teda komiks, ktorý by skončil v riadkoch 9 a 59 je ASTERIX A OBELIX.
Asi sme robili nieco zle ale teda POLE nam na riadku 50 nic neozelenelo, naopak zazelenalo sa to ak sme ho dali do niektoreho z riadkov 2 + 17*k. Podobne nas miatli aj ine stlpce.
Nam sa zial nepodarilo prist na to ze indicie treba nahradit slovami. Viac prirodzene nam prislo vyplnat slova pod indicie, 1 pismenko na 1 bunku, ako v krizovke. Plus sa nam tak podarilo ofrabit niektore hinty na zeleno/zlto (napr "sENDVIC" od M2 po M8), co nas este viac utvrdilo v tom ze sme na spravnej ceste.
Hint nam nijak nepomohol si uvedomit ze sa to snazime vyplnit uplne zle. Skoda ze neporadil aj kde si precitat ten inline hint, ten sme si zial nevsimli.
@Tom: Ako píšem v riešení, niektoré náhodné nesprávne slová tiež robia zmenu farby, čo malo hlavne sťažiť riešenie šifry hrubou silou bez pochopenia. Šifra aj naznačuje, že náhodné zelené slovo nemusí byť správne, len tú medzitajničku zrejme fakt skoro nik nenašiel. Občas na takéto zmeny farby niekto náhodne narazil pri nejakom legitímnom pokuse, tak ako vy, ale snáď nie pričasto.
"Zviera zviera zviera" môže znamenať napr. "medveď drží zajaca". Vete "správa správa správa" ja rozumný slovenský význam neviem dať, "správa" ako nezvratné sloveso je len ozaj archaické a tretie "správa" nevie podľa mňa byť nič dobre vyskloňované.
Umíte někdo vysvětlit, z jakého důvodu nám zezelenal šestý (VI.) řádek s písmenkem "T" (což odpovídá sloupci F s jazykovou hříčkou), když jsme vložili slovo "SPRÁVA"? Jako ryze český tým netušíme, jestli je smysluplnější věta "SPRÁVA SPRÁVA SPRÁVA" nebo "ZVIERA ZVIERA ZVIERA". Jsme ochotni připustit smysluplnost obou vět: třeba že "správa (parku) se nějak (dobře) chová" i to, že "zvíře něco nebo nějak (doteď nevím co nebo jak) svírá". Víme však jistě, že naše (pozitivně vyhodnocená) varianta nesedí na římská čísla :-(.
Ale jinak šifru moc chválíme!
My sme si spravili makro, ktore posuvalo vsetky slova postupne dole po riadkoch a sledovali sme, kedy dostaneme zelenu - vtedy sme dane slovo fixli a dalej makrom posuvali len tie ostatne.
No a potom sme zistili, ze niektore slova davaju zelenu na viacerych riadkoch a niektore nam nedali vobec - iba zltu. Takze sme boli v kybli :D Samozrejme pokusy interpretovat conditional formatting boli tiez zdlhave a zufale (chapali sme, ze to modulo nas odpise, lebo skusat vsetky kombinacie moze trvat hodne dlho).
Tak sme sa museli vratit k regulernemu sifrovaniu a pochopili sme, ze tie uz umiestnene slova zrejme davaju navod, ako to umiestnovat. Tak sme sa spytali: preco je TEXT=10? A uz sa zabriezdilo.
Pochopit co mame vlastne zadat tiez este chvilu trvalo, napriek tomu ze cisla sme si hned previedli na rimske: IX a LIX KOMIX ... co to moze byt ... :D
Asi najviac nenavidena, ale zato velmi pekna sifra. No tiez sme nad nou stravili dlhe hodiny, aj ked velke pismena sme zistili celkom rychlo.
Nám sa podarilo prísť na veľké písmená, aj na to, že teda potrebujeme zistiť, do ktorého riadku slovo capnúť, aby bunka ozelenela. Nasledovalo dlhé čumenie do conditional formattingu tých buniek v prvom riadku vpravo. Celkom úspešne sme dešifrovali, čo ten vzorec robí a napísali sme si na to program, ktorým sme potom hľadali príslušný riadok. Pruser bol s tými, kde bolo treba vyplniť riadkov viacero, to nám nenapadlo a mali sme z toho vcelku dlho nervy... nakoniec sme ju ale dali a končene sme si mohli prestať trhať vlasy :-)
@Jano ked nic z toho, tak aspon vies, ze to nerobis dobre :D
predstav si ten pocit, ked skusas, ktora bunka v stlpcoch M-T meni co v A, a nahodne zistit, ze ked napises "a" do T7 a T8, tak T1 zozelena...
M4-M11 vyplnene "a" zase zozelenaju M1
(aj sme si po case mysleli, ze to moze byt nahoda, ale zly pocit zostava... samozrejme, sifru sme nedoriesili)
dalsi napad bol, ze skusit nejako nakombit tie veci v riadkoch s vecami v stlpcoch... napr. galaXIa a meXIko maju spolocne XI (takze dat XI do G11), zVIEra a hVIEzda.... samozrejme ani to nikam neviedlo.
Tak my sme sa vcelku rýchlo dostali k 9A59KOMIKS. A odtiaľ sme to už nerozsekli. Pozornosť odpútalo najmä to, že 9+59 je 68. Skúste si dať do Google 68 comics. Vyzerá to byť ako fakt populárny komiks o nejakých zombíkoch :P.
Ten pocit keď umiestniš KRMIVO ručne na tisíc riadkov a nič z toho :)
Ale teda ešte, aby som to tu len nekritizoval, páči sa mi nápad tej šifry, ako taký digitálny trezor spravený v exceli, kde treba správne natočiť všetky západky, aby sa otvoril a medzitým sa nedá dobre tipovať, čo to bude.
A cenu za najhoršiu šifru získava... Case sensitive bez upozornenia, nutnosť doplniť extra riadky, clivosť vs. clivota, no a nakoniec nezmyselná tajnička, pri ktorej neviem, či je dobre a mám ju interpretovať alebo som niečo spravil zle. Tak isto mám zobrať tretie slovo tajničky "Asterix a Obelix komiks" alebo tajničky "Vložte heslo Asterix a Obelix komiks"?
Na záver aspoň niečo vtipné (aj keď rušivé, lebo som si nebol istý, či v šifre alebo v mojej kópii nie je bug): tie funkcie, čo vyfarbujú políčka majú nejaké (náhodne nájdené) kolízie, napr. aj do buniek M1-M5 napíšeme postuple slová sendvič, toast, chleba, bageta, hrianka, bunka M1 ozelenie. Podobne bunka P1, ak do buniek P1, P4, P5 napíšeme clivosť, spleen, citlivosť.
> Celkom prirodzené je skúsiť indície nahradiť v bunke slovom, ktoré napovedajú.
Na šifře jsem strávil mnoho hodin, ale přes tenhle krok jsem se nedostal :D Text ve sloupci A mě utrvdil v tom, že slova je třeba psát malýma písmenama a hlavně jako v křížovce, tj. začít pod legendou nebo vedle legendy a do každé buňky psát jen jedno písmeno. Myslím, že jsem jednou i zkusil vepsat slovo místo legendy, ale určitě to bylo malýma, takže to nic neudělalo.
Tato se líbila... ten aha efekt s římskými číslicemi a nutnost přidání řádků přes 1000, hezké. Za nás byl (neověřoval jsem, jestli ještě je) bug, že CUDNOSŤ (jako ta emoce) napsaná na řádku 100 (už ne 500) obarvovala to pole taky na zeleno. Taky jsme jako Češi nevycítili, jestli je správně clivosť nebo clivota, takže s tímto jsme trochu bojovali.
Oukej, odteraz to po sebe už budem fakt kontrolovať aj ďalším skriptom, lebo tu už sa nedá veriť fakt ničomu :D
Hm jak tak zminujes MEXIKO, to by taky melo byt i v radku 1000. Mi se tato sifra a specificky krok s rimskyma cislama libily.
Vdaka za opravu - asi aj Riesenie by bolo dobre updatenut (malvica uz nie je). (A veru, TEXT som nezapocital.)
(Slová s X boli v ľavej "edukačnej" časti dve, je tam okrem MEXIKO v riadku 11 ešte TEXT v riadku 10.)
Malvica je legitímny bug, sorry, nejak ušlo. Skúsim vyrobiť opravenú verziu. A zjavne potrebujeme aj horších testerov, ktorí budú mať problém s veľkými písmenami :) Plán bol, že kto neprečíta prvé slová indícií, musí si prvý krok odtrpieť, no vyzerá, že sa na ňom trpí výrazne viac ako sme čakali podľa testov. Asi skúsim do opravenej verzie pridať ešte jednu zmenu, ktorá s týmto trochu pomôže.
Strašné veľa vecí bolo treba uhádnuť, kým človek dostal validaciu že ide správnym smerom. A po ceste bolo veľa slepých uličiek pri ktorých vôbec nebolo jasné že sú slepé. Riesili sme prečo má pole len riadky a žiadne stĺpce stále veci. Nakoniec to povolilo s hintom, konkrétne že rozdiel medzi ODLIV a OLIVY je D a 500 riadkov. Dovtedy sme boli stratení, a odvtedy zasa nebolo čo riešiť.
Druhá vec, v inej diskusii som čítal že programátori mali výhodu. No tak tu zasa mali nevýhodu. Furt nás to lákalo programovať, nakoniec máme dve nezavisle implementácie algoritmov zo sheetu. Ak by nás napadlo dávať slová na viac riadkov, asi by sme to vyriešili brutforcom a o rímskych číslach by sme sa dozvedeli až zo vzorového riešenia.
MALVICA nie je konzistentna, mala by byt aj v riadku 1000. Este je dolezite podotknut, ze samotne otazky bolo treba vymazat.
"dvoch slov s X niekde okolo riadku 10" - bolo iba mexiko, galaxiu bolo treba uz dohaluzit. No nic, tato sa mi nepacila, sorry. Bolo vela slepych hintov (rustina + preklady, vymena pismenok, velka frekvencia, ziadne stlpce len riadky, atd. atd.) a nic nenaznacovalo rimske cisla.
V princípe to funguje takto: sumproduct je skalárny súčin dvoch vektorov. Základné použitie je napr. sumproduct(a1:a10,b1:b10). No a syntax ti potom dovoľuje na to políčko aplikovať nejakú funkciu, len sa to píše tak, že ju akože aplikuješ na celý ten vektor. To potom ja používam napr. na to, že v jednom vektore si vyrobím aktuálny index a v druhom ASCII hodnotu aktuálneho písmenka, takže dostanem sumu 1*prvé písmeno + 2*druhé + ... Táto suma modulo nejaké zväčša prvočíslo sa potom používa ako jednoduchý hash.
(Vzorčeky v zadaní boli nakoniec generované vlastným kódom v pythone, ručne to napísať je smrť, keďže nemáš premenné ani nič.)
Nám tiež nejako nedošlo, že to máme písať veľkými písmenami, takže sme celé riešenie tápali s tým, že nič sa tam poriadne nemenilo. Až teda v istý moment Kika zrazu zakričala, že jej sendvič blikol na zeleno, tak po zopár Ctrl + Z sme našli, že keď máme v prvom stĺpci postupne s, e, n, n, v, i, č, tak to je zelené :D A ešte v poslednom p, o, o, l, e :D.
Istú dobu som tiež skúšal rozlúsknuť tie vzorce (z čoho mi teda bolo aj jasné, že tie zelené bunky boli s veľkou šancou náhody). No nejde mi do hlavy jedna vec: môže row(indirect("1:"&x)) vrátiť nejakú inú hodnotu ako 1 (pre nejaké číslo x)? Lebo nevidím spôb ako. No potom by boli tie vzorce vlastne o ničom. Takže mám pocit, že mi tam niečo uniká. Hlavne som teda študoval podmienené formátovanie.
Táto sa mi nepáčila :/ Nevedeli sme, že treba všetko veľkým, takže nám to nedalo nijaký feedback, či sme na správnej ceste, alebo či sa heslo otvorí až keď bude úplne každé slovo napísané správne. Eventuálne sme si všimli, že na veľkosti záleží (nečitateľné smeti sa zmenili na iné nečitateľné smeti), ale tak sme dali Pribina s veľkým P ako vlastné podstatné meno, čo samozrejme nepomohlo, stále bolo všetko červené.
Eventuálne som usúdil, že prišiel čas na väčšie kladivo a išiel som lúštiť formuly a conditional formatting podmienky. Tam som si všimol `regexreplace(...,"[^A-ZÁÄČĎÉÍĹĽŇÓÔŔŘŠŤÚÝŽ]","")` a až z toho som zinterpretoval že tak teda treba veľké písmená.
Ani pointu s rímskymi číslami a vertikálnou polohou som až tak neocenil, ale to možno len kvôli dojmu z dovtedy. :)
Zase ale chápem že nie každému tímu sadne každá šifra. Čo sa dá robiť. Nám by asi pomohlo, keby to buď bralo aj malé písmená (napr s UPPER()), alebo ak je naschvál že berie iba veľké kvôli asociácii s rímskymi číslami, tak aby aspoň boli políčka žlté keď sa líšia len veľkosťou.