ACM ICPC 2015 – Maroko Podle Mirka Ty´m MFF z Univerzity Karlovy
Sˇteˇpa´n,
Filip,
Pavel (koucˇ)
a ja´
Jak to vsˇechno zacˇalo To jsem byl tak jednou v le´teˇ 2014 na jabberu... Filip: ahoj Mirku Ja´: ahoj Filip: jak si uzivas prazdniny? Ja´: no, jde to :) Filip: mam pro Tebe nabidku, ktera se jen tak neopakuje Ja´: no to jsem zvedavy :) Filip: asi jsi slysel o soutezi ACM, ze? Ja´: no, trochu Filip: shanime se Stepanem tretiho clena tymu Filip: nechtel by ses jim stat? Ja´: zni to lakave Filip: predevsim jako teoretik Filip: tim, ze je jenom jeden pocitac, tak vlastne vubec nemusis mit moc natrenovane to kodeni tech uloh Filip: chybi nam nekdo s nahledem na kombinatoriku a grafy Ja´: aha, to zni fajn Filip: mozna by ses musel naucit trochu pracovat s nejakymi algoritmy Filip: nevim jak jsi na tom v tomhle ohledu Ja´: zkousel jsem nejakou soutez v hackerranku a moc mi to neslo Filip: ale na pripravu je jeste dost casu Ja´: a neni to nahodou ta soutez, co je pres sous? Ja´: ale jinak to zni jako luxusni nabidka, co se neodmita :) .. . Filip: World Finals je potom nekdy na jare / v lete a jestli se nepletu, tak to tento rok bude Maroko Ja´: jo, tam uz jsi nekdy byl, ze? Ja´: byl o tobe clanek na rootu :) Filip: jo, v prvaku jsme tam postoupili Filip: ale deset let predtim tam nebyl zadny cesky tym Filip: tak bychom to letos mohli zopakovat :-) Ja´: fajn :) 1
Na podzim bylo kolo na CˇVUTu. Jesˇteˇ si pamatuju, jak mi tat’ka (s ohledem na to, zˇe jsem nesˇel prˇ´ılisˇ brzo spa´t – balil jsem se na sous PraSete) rˇ´ıkal: „Takhle to nevyhrajete...“ Jak jinak na takovou usˇteˇpacˇnou pozna´mku zareagovat nezˇ prˇesveˇdcˇivy´m: „Ale vyhrajeme :-)“? Ze souteˇzˇe jsem kvu˚li jizˇ zmı´neˇne´mu soustrˇedeˇnı´ odjı´zˇdeˇl drˇ´ıv, takzˇe azˇ pozdeji jsem se dozveˇdeˇl, jak jsme dopadli – vyhra´li jsme. Na´sledovalo strˇedoevropske´ kolo. Tam uzˇ hrozilo, zˇe opravdu nepostoupı´me, takzˇe to z tohoto ohledu nebyla takova´ sranda. Na druhou stranu jsem si zde doopravdy uveˇdomil, o cˇem ACM je. Stacˇ´ı se podı´vat na logo – zˇa´dne´ pocˇ´ıtacˇe ani ko´dy, ale balo´nky! Vzˇdycky, kdyzˇ Filip nebo Sˇteˇpa´n neˇco nako´dili, tak jsem za to dostal le´tajı´cı´ balo´nek.
Logo ACM ICPC a jeho realizace Po skoncˇenı´ souteˇzˇe jsme postavili z balo´nku˚ dlouhatana´nsky´ rˇeteˇz, ten jsme vynesli ven, pak zacˇalo prsˇet, a balo´nky prˇestaly lı´tat, tak jsme je zase dotahali dovnitrˇ ususˇit... Zkra´tka jsem si prˇipadal, jak dı´teˇ v Tramta´rii. Slavnostnı´ vyhla´sˇenı´ ale uzˇ pak byl nerva´k. Nedopadli jsme moc dobrˇe... Na postup to asi stacˇit nebude... Ale ted’ postupuje vı´c ty´mu˚, cˇtyrˇi urcˇiteˇ, mozˇna´ i peˇt. Jsme osmı´, ale mu˚zˇeme postoupit, protozˇe nad na´mi jsou jen cˇtyrˇi ru˚zne´ univerzity a z kazˇde´ univerzity smı´ postoupit jen jeden ty´m. Tak majı´ teˇch peˇt postupovy´ch mı´st, cˇi ne? Modera´tor to deˇlal napı´nave´, jak se dalo: Prvnı´ ty´m vyhra´va´ spoustu cen a postup do fina´le, Druhy´ ty´m vyhra´va´ spoustu cen a postup do fina´le. Trˇetı´ ty´m vyhra´va´ spoustu cen a postup do fina´le. Cˇtvrty´ ty´m vyhra´va´ spoustu cen, ale bohuzˇel nemu˚zˇe postoupit. Pa´ty´ ty´m vyhra´va´ spoustu cen, ale bohuzˇel nemu˚zˇe postoupit. Sˇesty´ ty´m takte´zˇ. Sedmy´ ty´m nevyhra´va´ nic, ale postupuje do fina´le. A my... (no tak uzˇ to nenapı´nej, modera´tore!) nevyhra´va´me zˇa´dnou cenu, ale... Postupujeme do fina´le!!! Jupı´´ı´ı! Maxima´lnı´ spokojenost, ty ceny by se mi stejneˇ nevesˇly do batohu. Filip: „Ale teda uzˇ jsem moc necˇekal, zˇe se kvalifikujeme.“ Ja´: „No, ja´ s tı´m tak neˇjak celou dobu pocˇ´ıtal.“ A tak se stalo, zˇe jsem se 5 let po IMO dostal na dalsˇ´ı prestizˇnı´ souteˇzˇ (IMC nepocˇ´ıta´m, na to se moc cˇasto kona´ v Bulharsku :-) ).
2
Prˇed cestou Postup pro na´s ale soucˇasneˇ znamenal, jisty´ za´vazek, zˇe budem Matfyz (no dobrˇe, Karlovku) reprezentovat du˚stojneˇ a zˇe bychom meˇli tre´novat. Jejda, to jsem u´plneˇ nedomyslel :-) Tre´nova´nı´ na´m azˇ zas tak nesˇlo. • Na pravidelne´m matfyza´cke´m prˇedmeˇtu urcˇene´ho k tomuto u´cˇelu na´s neˇkdy pora´zˇel Xellos, ktery´ souteˇzˇil sa´m. • Na tre´ninkove´m strˇetnutı´ na CˇVUTu na´s porazil CˇVUTˇa´cky´ ty´m. • Obcˇas jsme si da´vali tre´nink sami, ale moc na to nebyl cˇas. • Na Codeforces jsem se ze zˇlute´ barvy (jesˇteˇ docela slusˇna´) propadnul azˇ do modre´ (vı´ceme´neˇ zacˇa´tecˇnı´k). Baklazˇa´n (po jednom codeforces): Ale je to trochu trapas, ze Martin Raszyk porazil cely vas tim... Ja´: to jo, no Ja´: nejak se nam to ted moc nepovedlo Baklazˇa´n: tak sa do finals dajte dokopy, chcem vas tam vidiet v prvej 10ke. Ja´: vynasnazim se ;) Baklazˇa´n: (co sa splni, pre vhodnu hodnotu cisla 10) Ja´: :D Ja´: aspon toho raszyka bychom porazit mohli Ja´: ale tak na CERCu jsme taky porazili xellose, ze? Baklazˇa´n: to hej Baklazˇa´n: teraz sa mozete vyhovarat, ze CF ma iny format ako ICPC Ja´: presne :) Nesouvisejı´cı´ deˇjova´ linka prˇed souteˇzˇ´ı se ty´kala mailu˚ a byrokracie. Jednak na´m chodily spamy od IBM a dokonce od jake´si Ka´biky PUNGU – zˇe je z Maroka, zˇe se na na´s hrozneˇ teˇsˇ´ı, posı´la´ na´m svojı´ fotku, a zˇe bychom ji o sobeˇ taky meˇlo neˇco rˇ´ıct. Asociovalo mi to takove´ ty phishingove´ podvodne´ seznamky :-), ale mluvı´ zasveˇceneˇ o ICPC, tak trˇeba to bude nasˇe guidka... Trˇetı´ typ mailu˚ byl od Pavla – co vsˇechno si ma´me vyrˇ´ıdit, zˇe si ma´me sestavit dvacetipeˇtistra´nkovy´ „taha´k“, zˇe ma´me mı´t barevnou fotokopii pasu a ISICu, zˇe se ma´me stavit u sekreta´rˇky, a zˇe se ma´me prˇed cestou dobrˇe najı´st, protozˇe letadlo jı´dlo nabı´zet nebude. Sobota 16. 5. – Letı´me do Maroka Nejprve ze zvyku nastoupı´m na opacˇnou stranu metra, ale ma´m dostatecˇnou cˇasovou rezervu, takzˇe uzˇ v autobuse na letisˇteˇ potka´m Filipa. Pobavı´ se se mnou o u´loze Miny ze slovenske´ho vy´beˇrka – zˇe to cele´ nako´dil a pak zjistil, zˇe to nefunguje, tak potrˇebujem vymyslet, jak to spravit. Na Internetu jsme nenasˇli zˇa´dny´ rychly´ algoritmus, ktery´ by pro kazˇdy´ vrchol orientovane´ho grafu byl schopny´ spocˇ´ıtat, do kolika ru˚zny´ch vrcholu˚ se z neˇj da´ dostat, tak jsme to vymysleli jinak. Na letisˇti potka´va´me Pavla a Sˇteˇpa´na a Filip doko´dı´ Miny. Svacˇinu (namazane´ rohlı´ky a Magneziu) si necha´m v odbavene´m batu˚zˇku s tı´m, zˇe si ji da´m azˇ na mı´steˇ. V letadle mi Sˇteˇpa´n vysveˇtlı´ algoritmus pro rychlou Fourierovu transformaci (FFT) a prˇi prˇestupu v Bruselu na´m Filip vylozˇ´ı nasˇe ambice: Meta je zı´skat medaili – to nenı´ takova´ legrace jako na IMC cˇi IMO, kde ma´ medaili pu˚lka u´cˇastnı´ku˚. Tady ma´ medaili jenom 12 prvnı´ch ty´mu˚, 4 zlatou, 4 strˇ´ıbrnou a 4 bronzovou. Minule byli Slova´ci dvana´ctı´, byla z toho velka´ sla´va a i dı´ky tomu taky pak 3
z CERCu postupovalo 5 ty´mu˚. Na Codeforces byla tipovacı´ souteˇzˇ a nikdo na´s mezi prvnı´mi dvana´cti netipoval. Ani Xellos? Aha, ten tam netipoval vu˚bec. No dobry´, tak mu˚zˇem jedineˇ prˇekvapit. Pak si ostatnı´ da´vajı´ svacˇinu. To jsem mozˇna´ zava´hal... „Kdy vlastneˇ prˇista´va´me v Maroku?“ „V 18:10 tamnı´ho cˇasu.“ „A to je o hodinu posunute´ ktery´m smeˇrem?“ Pavel: „Objednal jsem registraci na pu˚l desa´tou, abychom prˇed tı´m v pohodeˇ stihli vecˇerˇi.“ Po te´, co jsem si rozmyslel, zˇe to znamena´ 19:10 nasˇeho cˇasu, rozhodl jsem se od Filipa vyzˇebrat jednu housku. Kdyzˇ jsme potom procha´zeli letisˇtnı´ kontrolou, potrˇeboval Filip vypra´zdnit flasˇku Coca Coly, s cˇ´ımzˇ jsem mu taky ochotneˇ pomohl. Letadlo prˇista´lo v Maroku. Uzˇ prˇi vystoupenı´ z letadla je patrny´ rozdı´l oproti evropske´ praxi – nevlezli jsme ani do tunelu, ani do autobusu, ale peˇkneˇ prˇ´ımo na letisˇteˇ, skrz ktere´ jsme sˇli peˇsˇky k prˇ´ıletove´ hale. Osobneˇ mi je mile´, zˇe meˇ nezˇenou do zˇa´dne´ho rozparˇene´ho busu.
Letisˇteˇ v Maroku Prˇicha´zı´me k pa´su˚m cˇekat na svoje zavazadla. Pa´sy na zavazadla vypadajı´ stejneˇ jako na jake´mkoli jine´m letisˇti. Akora´t prˇi pouzˇitı´ majı´ jednu zvla´sˇtnı´ vlastnost – zavazadla z nich padajı´ na zem. Navı´c jak prˇijı´zˇdeˇjı´ nova´ zavazadla, tak se sra´zˇ´ı s teˇmi, co uzˇ tam jsou a tak ten pa´s ucpa´vajı´ – zkra´tka chaos. Nezda´lo se, zˇe by neˇkdo povolany´ to tam chteˇl jı´t rˇesˇit, tak to tam sˇel trochu rozmotat asponˇ Pavel. Ale vsˇichni jsme si cˇasem nasˇli svoje zavazadlo. Mu˚j maly´ batu˚zˇek jsem si nasˇel jako poslednı´, a abych se ujistil, zˇe je to on, jsem do neˇj sˇa´hnul a vyta´hnul ... TRiKSˇa´tek – to jen tak neˇkdo nema´. Cˇeka´ na´s pasova´ kontrola. Na tu jsme kromeˇ pasu˚ meˇli prˇipravene´ i vyplneˇne´ dotaznı´ky, odkud kam, kdo a procˇ letı´. Ale fronty vypadaly neu´nosneˇ. Nasˇteˇstı´ na´s neˇkdo poslal skrz specia´lnı´ diplomatickou pasovou kontrolu (kdyzˇ jedem na ICPC). I tak trva´ zkontrolova´nı´ pasu a toho dotaznı´ku docela dlouho. Naprˇ´ıklad mneˇ v kolonce Surname v dotaznı´ku prˇed „Olsˇa´k“ dopsal celnı´k jesˇteˇ „Miroslav“, acˇkoli jsem meˇl krˇestnı´ jme´no uvedene´ v kolonce First name. Po projitı´ kontrolou bych ma´lem minul jesˇteˇ jednoho stra´zˇnı´ka, ktery´ kontroloval, zda na kontrole vsˇichni dostali razı´tko. Tak jsme v Maroku – muslimske´ zemi, jakpak to tu bude vypadat? Budou tu same´ necˇitelne´ na´pisy a vsˇechny zˇeny v sˇa´tcı´ch? Trochu prˇekvapiveˇ, ani jedno. Sˇa´tek je cˇasty´ mo´dnı´ doplneˇk, ale rozhodneˇ ne pravidlem (i na jednom billboardu na na´kupnı´ centrum byla jedinou postavou jaka´si nakupujı´cı´ bez sˇa´tku). A stejneˇ tak arabske´ na´pisy jsou, ale typicky azˇ druhotneˇ – prima´rnı´ na´pisy jsou latinkou (a arabske´ neˇkdy ani nejsou). To si vysveˇtlujeme tı´m, zˇe to dlouho byla francouzska´ kolinie, takzˇe tu je francouzsˇtina sta´le rozsˇ´ırˇena´. V autobuse jsme narazili na prvnı´ho cˇechoslova´ka (to jsme jesˇteˇ netusˇili, kolik jich tu bude). Sˇlo o Luka´sˇe Pola´cˇka ze Slovenska, ktery´ zde byl coby koucˇ Sˇve´dske´ho ty´mu. Prˇi jı´zdeˇ autobusem ˇ ´ıkali se neˇkdo v ulicˇce pta´: „Vystupujete neˇkdo na (zbytek nesrozumitelny´)? Ne? Dobra´.“ R jsme si, zˇe se na´s to asi nety´ka´, ale Pavel z toho zacˇal by´t mı´rneˇ nejisty´. Autobus zastavil, pry´ hotel Gulf. Veˇtsˇina vystupuje, ale kdyzˇ nevystupujı´ vsˇichni, tak my taky ne. Ostatneˇ nema´me by´t v hotelu Gulf, ale v Pallmeraie Spa. Dalsˇ´ı zasta´vka uzˇ byla spra´vna´ a my jsme vlezli do 4
hotelu. Dovnitrˇ se sˇlo ota´cˇivy´mi dverˇmi, podobny´mi jako v obvykly´ch evropsky´ch na´kupnı´ch centrech, ale s jednı´m rozdı´lem – ty dverˇe se neota´cˇely na elektricky´ pohon. Mı´sto toho u nich stojı´ cˇloveˇk a rozta´cˇ´ı je rucˇneˇ.
Vypada´ to tu luxusneˇ a hlavneˇ je tu spousta fonta´n, zˇe se azˇ cˇloveˇk v pousˇti divı´. Tak trˇeba je to pra´veˇ v pousˇti jejich zdejsˇ´ı symbol bohatstvı´ – Copak zlato? Ale voda! My jsme na recepci dostali uzˇ zas podobne´ formula´rˇe jako prˇi prˇ´ıletu, tak je zas vyplnı´me a dosta´va´me klı´cˇe od pokoje. Ja´ bydlı´m s Filipem, Sˇteˇpa´n a pavel samostatneˇ. Tak se jdeme ubytovat... No jo, jdeme ubytovat, kdyby to bylo tak jednoduche´. Ale zdejsˇ´ı hotel vypada´ jak tajemny´ ˇ ada ulicˇek, ktere´ se rozdeˇlujı´ a zase spojujı´. Tudy ne, to je akora´t neˇjaka´ modlitebna. labyrint. R Kdyby tu asponˇ neˇkde meˇli pla´nek. Nasˇteˇstı´ se na´m po cˇase povede pochopit logiku mı´stnı´ho cˇ´ıslova´nı´ a ujasnı´me si, kde kdo bydlı´. Pak na´sleduje hleda´nı´ vecˇerˇe – ta je zas neˇkde jinde, a po vecˇerˇi (klasicky´, ale dobry´ raut) jdeme najı´t registraci – ta je jesˇteˇ v jine´ budoveˇ.
Bludisˇteˇ Vyznat se ve venkovnı´m labyrintu je jesˇteˇ teˇzˇsˇ´ı nezˇ v tom vnitrˇnı´m, a tak na registraci prˇicha´zı´me s cˇtvrthodinovy´m zpozˇdeˇnı´m. Chceme dovnitrˇ, ale jsme od toho odrazeni organiza´torkou: „Omlouva´m se, ma´me mensˇ´ı dopravnı´ za´cpu, pocˇkejte venku.“ Kdyzˇ tato organiza´torka neda´vala pozor tak se na´m ale povedlo proklouznout dovnitrˇ. Hm, na stolku jsou neˇjake´ vody Sidi ali, to by se hodilo, ale vsˇechny jsou vypite´. „Chcesˇ vodu? Vezmi si tam s chladı´cı´ch boxu˚!“ Dobra´, tedy zbyla v chladı´cı´ch boxech vsˇehovsˇudy jedna, ale i jedna je lepsˇ´ı nezˇ nic. Sla´va, dostali jsme pru˚vodkyni, mu˚zˇeme jı´t se registrovat. Jejda, kde je Sˇteˇpa´n? Musı´me by´t vsˇichni. Aha, Sˇteˇpa´n se tam bavı´ s Petrem Rysˇavy´m, kde ten se tu vzal? Je tu coby pomocna´ sı´la za UPE, organizaci, ktera´ poma´ha´ s ACM a jejı´ nejvy´znamneˇjsˇ´ı bunˇka v Evropeˇ je na CˇVUTu (ostatneˇ my jsme taky vstupovali do UPE pote´, kdyzˇ jsme vyhra´li to regiona´lnı´ kolo na CˇVUTu). Ale nic, jdem se registrovat. Registrace se sesta´va´ z patna´cti stanovisˇt’jako naprˇ´ıklad prˇideˇlenı´ pru˚Stanovisˇteˇ registrace vodce, vyplneˇnı´ dotazı´ku, odevzda´nı´ dotaznı´ku, obdrzˇenı´ tasˇek, obdrzˇenı´ tricˇek, odevzda´nı´ CD a ty´movy´ch dokumentu˚ (ktere´ budem mı´t k dispozici na souteˇzˇi), obdrzˇenı´ velbloudu˚, cˇi vyfotografova´nı´ se. Dveˇ stanovisˇteˇ obsluhovali Cˇesˇi z CˇVUTu – konkre´tneˇ okopı´rova´nı´ pasu a ISICu (kdybychom na´hodou nemeˇli) a instrukce 5
k Twitterove´ souteˇzˇi. „UPE si va´s najde vsˇude, budeme drzˇet palce.“ Akora´t sˇkoda, zˇe jsme jejich stanovisˇteˇ moc nevyuzˇili – ISIC a pas uzˇ jsme okopı´rovany´ meˇli a Twitter nema´me. Po na´vratu do nasˇeho ubytova´nı´ jsem si u recepce vzal jesˇteˇ vody z chladı´cı´ch boxu˚ a sˇel na pokoj. Filip se Sˇteˇpa´nem pote´ sˇli jesˇteˇ do baze´nu, ktery´ ma´me hned u hotelu (cˇi dokonce v konvexnı´m obalu hotelu), ja´ si mezitı´m prohle´dl seznam televiznı´ch stanic. Nabı´dka to byla vskutku pestra´: Byly zde zna´me´ BBC, CNN, Al-Jazeera. Pak marocke´ kana´ly, a da´l to vypadalo, zˇe tu jsou snad i vsˇechny francouzske´ (sportovnı´, deˇtske´, zpravodajske´, vsˇeobecne´, ...) a arabske´ kana´ly. A krom nich jesˇteˇ neˇjaky´ sˇpaneˇlsky´ cˇi neˇmecky´. Kazˇdopa´dneˇ arabske´ televize byly nejza´bavneˇjsˇ´ı. Na sportovnı´m kana´le se strˇ´ıdaly za´beˇry na go´l a na jake´si hovorˇ´ıcı´ ima´my okolo stolecˇku uprostrˇed fotbalove´ho hrˇisˇteˇ. Dalsˇ´ı zvla´sˇtnı´ arabsky´ kana´l byl hudebnı´. Tam poskakovali Saudsˇtı´ arabove´ prˇi jejich skrˇehota´nı´, tedy vypadalo to jako neˇjaky´ jejich ritua´l. Navı´c tam ale obcˇas problikla zˇenska´ (samozrˇejmeˇ bez sˇa´tku). Filip: „To se neˇjak hrozneˇ nesmı´, cos to zapnul? To je s hveˇzdicˇkou po dvaca´te´ druhe´ hodineˇ.“ S Filipem jsme jesˇteˇ zjistili, zˇe jsme v tasˇce dostali sˇa´tek na hlavu (zˇe by do pousˇtnı´ bourˇe?), tak Filip na Internetu nasˇel, jak se to uvazuje. A pak uzˇ jdem spa´t, ostatneˇ zı´tra ma´me jediny´ volny´ den, tak se chysta´me na vy´let do meˇsta. Nedeˇle 17. 5. – Vy´let do meˇsta Na vy´let si chci prˇipravit vodu – Magne´zii uzˇ ma´m vypitou, tak si chci tuto jeden a pu˚l litrovou la´hev doplnit. Ma´m zkusit kohoutkovou vodu? V takto luxusneˇ vypadajı´cı´m hotelu by ji mohli mı´t pitnou, no ne? Prˇi snaze o naplneˇnı´ la´hve kohoutkovou vodou ale uka´zˇe potı´zˇ – studena´ voda se vzˇdy po chvı´li vycˇerpa´ a pak zacˇne te´ct horka´. Kdyzˇ jsem tento pokus ucˇinil opakovaneˇ, rˇekl jsem si, zˇe kohoutkova´ voda asi va´zˇneˇ nenı´ vhodna´. Mı´sto toho jsem si la´hev naplnil trˇemi zdejsˇ´ımi pu˚llitrovy´mi vodami Sidi ali z volneˇ dostupny´ch chladı´cı´ch boxu˚. Snı´daneˇ je v alta´nku u baze´nku, opeˇt formou rautu. Narozdı´l od vecˇerˇe tu je navı´c muzikant, ktery´ brnka´ na hudebnı´ na´stroj a obcˇas i skrˇehota´. Taky potka´va´me Martina Raszyka (ten je tu coby Snı´daneˇ souteˇzˇ´ıcı´ Sˇvy´carske´ho ty´mu): „Teda, ale pro meˇ je to docela sˇok, ten rozdı´l oproti Evropsky´m zemı´m, jak tu jsou chudı´.“ Tedy pro meˇ to takovy´ sˇok nebyl, uzˇ jsem byl v Kazachsta´nu... Ale holt Martin byl na IOI v Austra´lii, tak cha´pu, zˇe v neˇcˇem takove´m jesˇteˇ asi nebyl. Po snı´dani jdeme na vy´let. Ale ouha, slunı´cˇko bude asi celkem prazˇit. Chteˇlo by to opalovacı´ kre´m. Kde ho sehnat? Zajdem k jednomu obchodnı´kovi v area´lu, jestli jej ma´ v inventa´rˇi. Domluva nenı´ prˇ´ılisˇ plynula´ „Meˇl bych, ale... Alergie, alergie, Fitness centrum“. Cosi prˇi tom gestikuloval, takzˇe jsme pochopili, zˇe nabı´zı´ jen opalovacı´ kre´m pro Marocˇany, ktery´ nenı´ vhodny´ na Evropskou pokozˇku, a zˇe ma´me zajı´t do Fitness centra. Nechat se nasmeˇrovat do Fitness centra nebylo azˇ tak snadne´ – ptali jsme se neˇkolikra´t, a nakonec jsme zjistili, zˇe tam majı´ akora´t masa´zˇnı´ kre´my. Opalovacı´ kre´my nevedou. Hm... ten vy´let asi budem muset zkra´tit. Jdeme k jine´mu mı´stnı´mu obchodnı´kovi v ubytovacı´m komplexu. Ten uzˇ opalovacı´ kre´m ma´ „Yes, proteksˇn, original!“ a ukazuje na´m Niveu za 220 Dirhamu˚. Filip zaplatı´ 200 a pak ma´ uzˇ jen Eura „To nevadı´, to beru, jedno Euro je jako 10 Dirhamu˚“. Tak jsme se posprejovali Niveou a vyrazili jsme. Filip ze skusˇenostmi z sˇifrovacˇek meˇ napomı´na´: „Mirku, neztrat’se.“
6
Naprˇed jsme si prohle´dli umeˇle´ palmy a pak jsme sˇli po silnici. Jinak to ani moc nesˇlo, protozˇe vedle byly postavene´ hlineˇne´ ploty. Tedy, mohli bychom je prˇele´zt, kdybychom se snazˇili, ale nechcem riskovat. Pozoruhodna´ skutecˇnost byla, zˇe za teˇmi ploty nic nebylo – zˇa´dne´ obydlı´, prosteˇ jen sucha´ hlı´na a palmy. Vy´znam plotu˚ je tedy za´hadou, „trˇeba tam jesˇteˇ majı´ v pla´nu neˇco staveˇt“. Jdeme kolem velbloudu˚. Totizˇ kolem lidı´ nabı´zeFilip mezi ploty jı´cı´ch velbloudy turistu˚m na projı´zˇd’ku. A bylo tu velbloudu˚ veˇru hodneˇ – nabı´dka zjevneˇ vysoce prˇevysˇovala popta´vku. My velblouda nechcem, s nı´m bychom dosˇli do meˇsta jesˇteˇ pomaleji nezˇ peˇsˇky. Mozˇna´ se povozı´me neˇkdy prˇ´ısˇteˇ. „Ale k cˇemu takovy´ velbloud je, kdyzˇ je to s nı´m pomalejsˇ´ı?“ „No prˇece na to, aby jedl bana´ny a dosˇel co nejda´l.“ „To je pra´veˇ ten velbloud potom na nic.“
Prˇece nepu˚jdu po silnici Tady se da´ odbocˇit, jen abychom se pak neoctli na sˇpatne´ straneˇ zdi. Budem veˇrˇit, zˇe to neˇkam vede. Sˇteˇpa´novi jsme prˇitom zadali miny ze slovenske´ho vy´beˇrka, a tak jsme na vy´leteˇ kromeˇ uzˇ prˇed tı´m pouzˇite´ho zpu˚sobu rˇesˇenı´ prˇisˇli jesˇteˇ na trˇi dalsˇ´ı. Po neˇjake´ dobeˇ chu˚ze jsme dosˇli k meˇstu. Vcha´zı´me do ulicˇek, kde posta´vajı´ mı´stnı´ nabı´zejı´cı´ sve´ zbozˇ´ı. Snad jen zvla´sˇtnı´ je, zˇe svoje zbozˇ´ı nikterak nevnucujı´. Spı´sˇ naopak. „Beˇzˇte tam da´l, tam je jesˇteˇ mnohem veˇtsˇ´ı trh s la´tkami.“ „Tudy, tam kousek je velke´ na´meˇstı´.“ Kam na´s to vsˇichni smeˇrˇujı´? Oni tu majı´ na´meˇstı´? Tak to bychom se na neˇj mohli podı´vat. Jeden kluk se tva´rˇ´ı, zˇe na´m uka´zˇe, kde je to na´meˇstı´, to jsme si zase nabeˇhli. Vede na´s maly´mi ulicˇkami a za´koutı´mi. Mı´jı´ dalsˇ´ı kluky, s ktery´mi si tak mrkne, co to zas deˇla´ za kulisˇa´rnu a vede na´s da´l. Tak zamotane´ ulicˇky nemajı´ ani ve Stı´nadlech. Zastavı´ se: „Tak a ted’ uzˇ jen za roh doleva a jste tam.“ Podivne´ bylo, zˇe prˇi tom uka´zal doprava. A taky chteˇl od sˇteˇpa´na neˇjake´ Dirhamy. „Ale ne tohle, ja´ chci papı´rovy´ penı´ze.“ „Ja´ ti nabı´zı´m tolik, tak chcesˇ to nebo ne?“ Je prima, zˇe jsme se ho zbavili, ale kde je vsˇehovsˇudy to na´meˇstı´? Mı´sto Vedeni na na´meˇstı´ toho tu jsou sta´le jen ulicˇky s obchodnı´ky. Podı´va´me se doleva, jak rˇ´ıkal, a nic. Podı´va´me se doprava, jak ukazoval, taky nic. Filip nadnesl hypote´zu: Trˇeba tu zˇa´dne´ na´meˇstı´ nemajı´ a jenom si deˇlajı´ srandu z turistu˚. Ja´ u´plneˇ cha´pu, jak tohle mohlo vzniknout. To se jich tak turisti ptali, „Kudy na na´meˇstı´?“, no a to je prˇece blbe´ odpoveˇdeˇt, „My tu zˇa´dne´ na´meˇstı´ nema´me“. Tak se cˇasem naucˇili odpovı´dat „Tudy, tudy.“ Vymota´va´me se z meˇsta, prˇicˇemzˇ na´s jesˇteˇ neˇkolik lidı´ posˇle na na´meˇstı´, ale ignorujeme je. Cestou si jesˇteˇ koupı´me nanuk a pak uzˇ jdeme zpa´tky na mı´sto ubytova´nı´. Potka´va´me rˇeku. 7
Nasˇe pu˚vodnı´ hypote´za byla, zˇe ta je zdrojem vesˇkere´ te´ mı´stnı´ vody, ale na to v nı´ bylo vody podezrˇele ma´lo.
Rˇeka Pomalu mi docha´zı´ za´soby vody a je horko. Snad uzˇ tam brzo budem. Ju˚u˚, tady je zelena´ tra´va (vypada´ to jak golfove´ hrˇisˇteˇ), to je fantazie. To nenı´ jen tak mı´t tady, kde je vsˇuda jen sucha´ hlı´na, zelenou tra´vu. A ta´mhle majı´ kropı´tko. Fajn, tak ja´ tam dobeˇhnu, abych se nechal trochu ´ a´a´a´! Brrrr!! To studı´! Jejda, hlı´dacˇ. pokropit... A Hlı´dacˇ zdejsˇ´ıho golfove´ho hrˇisˇteˇ (cˇi co to bylo) na meˇ spustil roma´nsky´m jazykem, takzˇe jsem mu nerozumeˇl. On na druhou stranu neumeˇl anglicky. Tak jsme se jen pantomimicky dohodli, zˇe bych nemeˇl chodit po tra´veˇ, ale po cesticˇce, fajn pu˚jdu po nı´. Jedina´ potı´zˇ je, zˇe se tı´m postupneˇ odkla´nı´m od sve´ho ty´mu, ktery´ jde po suche´ hlavnı´ silnici. Zˇe ja´ se ztratil?
Cesticˇka meˇ odva´dı´ od silnice Vracı´m se rychle po jiste´ prˇ´ıpojce z travnate´ cesticˇky smeˇrem k silnici. Ale kde jsou oni? Veprˇedu? Vzadu? Nakonec je doha´nı´m a pak uzˇ honem jdeme do hotelu pro obeˇdovy´ balı´cˇek. Tam Filip potka´va´ sve´ zna´me´ (opeˇt mluvı´cı´ cˇesky) – naprˇed pa´na a na´sledneˇ panı´ s malou holcˇicˇkou (jak se dozvı´da´me jejich vnucˇkou). Po vyzvednutı´ obeˇdove´ho balı´cˇku Filip vysveˇtlı´, koho jsme to potkali: „To je dr. Jafar ze Sy´rie, ale uzˇ neˇjakou dobu zˇije v Cˇesku, tak i mluvı´ cˇesky. Ta panı´ je jeho manzˇelka Zdena z Brna.“ Pane jo, to jsou kontakty... Potom jdeme do baze´nu, ale Filip se Sˇteˇpa´nem po chvı´li odcha´zı´ na „Yandex“. To je takovy´ rusky´ Google, ktery´ taky porˇa´da´ programa´torske´ souteˇzˇe. Zˇe bych to taky zkusil? „Jo, zkus, tak se zaregistruj.“ Dobra´, prˇijdu na stra´nku te´ souteˇzˇe. Kliknu na Registrovat. „Pro prˇ´ıstup na tuto stra´nku se musı´te prˇihla´sit.“ Cozˇe?! Pro registraci se musı´m prˇihla´sit? To vypada´ jako neprˇekonatelny´ cyklus. Ostatnı´ cˇlenove´ ty´mu prˇisˇli na to, v cˇem byl proble´m, je totizˇ rozdı´l mezi registracı´ na stra´nky a registracı´ do souteˇzˇe – registrovat se do souteˇzˇe mu˚zˇu jen jako uzˇ registrovany´ uzˇivatel Yandexu. Dobra´, jak se registrovat do Yandexu? Vypada´ to, zˇe prˇes mu˚j laptopek, ze ktere´ho se umı´m prˇipojit na Wi-Fi jedineˇ z 5 let stare´ho Ubuntu to nepu˚jde. Tak to za mne udeˇla´ Sˇteˇpa´n na sve´m pocˇ´ıtacˇi (navı´c musı´ vyuzˇ´ıt Google prˇekladacˇ, protozˇe to jde jenom rusky). Ani souteˇzˇ samotna´ se s my´m stary´m Ubuntu nerozumı´, tak to cele´ budu rˇesˇit na Sˇteˇpa´noveˇ pocˇ´ıtacˇi. Prvnı´ u´loha byla trivia´lnı´, pry´ ma´m pokracˇovat poslednı´ u´lohou (zˇe je nejzajı´maveˇjsˇ´ı), ale tu jsem nako´dit nestihnul. Ve trˇetı´ u´loze, kterou Filip i Sˇteˇpa´n vyrˇesˇili, byl rozklad na silneˇ souvisle´ komponenty (stejneˇ jako v nasˇem pu˚vodnı´ rˇesˇenı´ min), pry´ je to snadne´. Prima, takzˇe azˇ na souteˇzˇi bude u´loha na silneˇ souvisle´ komponenty, tak ji da´me. 8
Po vecˇerˇi jesˇteˇ pro formu u´speˇsˇneˇ nako´dı´me dveˇ u´lohy na FFT. Prima, tak azˇ bude na fina´le u´loha na FFT, tak ji da´me! Pondeˇlı´ 18. 5. – Slavnostnı´ nuda Ra´no je zima, to bych na Maroko necˇekal, neˇjak se zata´hlo. Na snı´dani jsem sˇel jenom v kosˇili a prˇisˇteˇ si vezmu mikinu. Je´, hele, tady hned u baze´nu proda´vajı´ opalovacı´ kre´m, tak ten uzˇ ma´me. Dneska ma´me na programu „IBM TechTrek“, „Opening Ceremony“ a „ACM-ICPC Opening Dinner“. Vezmeˇme to poporˇa´dku. IBM TechTrek je neˇco jako prˇedna´sˇka CˇEZu na PraSeti. Je to povinna´ akce IBM, ktera´ je odpudiva´ uzˇ jen tı´m, zˇe je povinna´. Pry´ ma´me by´t ra´di, zˇe to je jen dveˇ a pu˚l hodiny, by´valo to delsˇ´ı. Zacˇalo to filmem o IBM, ktery´ akcentoval sta´rˇ´ı a tradici te´to firmy. Na´sledoval rˇecˇnı´k, ktery´ pouka´zal na to, jak IBM podporuje otevrˇene´ projekty, ktere´ ani nezna´me. Po neˇm na´sledoval za´bavny´ deˇdula, ktery´ jasneˇ demonstroval Goetheho moudro, zˇe sta´rˇ´ı nenı´ obdobı´ zˇivota, ale dusˇevnı´ stav. Nasadil si blikajı´cı´ cˇelenku a blikajı´cı´ bry´le a vysveˇtloval prˇi tom, jak je strasˇneˇ super Internet veˇcı´. Pak se na´m snazˇili uka´zat, co vlastneˇ IBM deˇla´, cozˇ uzˇ zdaleka tak za´bavne´ nebylo. Jeden rˇecˇnı´k tam prezentoval BlueMix – IBM syste´m pro neˇco, prˇesneˇ nevı´m pro co, ale vzda´leneˇ to prˇipomı´nalo doplnˇky do Firefoxu. Dalsˇ´ı dveˇ slecˇny prezentovaly Docker (jeden z teˇch otevrˇeny´ch projektu˚, ktere´ IBM podporuje), ale to uzˇ jsem vu˚bec nepochopil, co ma´ by´t zacˇ.
IBM TechTrek a blikajı´cı´ deˇdula Po obeˇdeˇ si da´va´me dalsˇ´ı tre´nink, tentokra´t ze slovenske´ho Ry´chlostneho. A porazil jsem Sˇteˇpa´na. Za´hy pak na dalsˇ´ım programu potka´va´me MisˇoFa – slavne´ho slovenske´ho kode´ra, jaka´ to na´hoda... Mozˇna´ jsem popsal IBM TechTrek jako nezajı´mavy´, nebyl to zˇa´dny´ odvar, ale mı´sty to bylo peˇkne´, cˇi dokonce poutave´. Rozhodneˇ mi to ale prˇisˇlo jako celkem dobra´ show oproti tomu, co na´sledovalo pod pojmem Opening Ceremony. Na TechTreku se asponˇ neˇkterˇ´ı rˇecˇnı´ci snazˇili publikum zaujmout, na slavnostnı´m zaha´jenı´ jsem ten pocit nemeˇl. Sˇteˇpa´n i Filip si hra´li se svy´mi mobily. Vsˇimnul jsem si kousek konverzace na Filipoveˇ telefonu: „Je to porˇa´d stejna´ nuda jako minule?“ „Zatı´m si papala´sˇi vza´jemneˇ deˇkujı´.“ Snad trochu za´bavny´ byl fakt, zˇe si lidi po konci proslovu tleskali podobneˇ jako ja´, kdyzˇ jsem hra´l superegoistu na PraSeti. Pozor, prˇicha´zı´ kulturnı´ vlozˇka! Kulturnı´ vlozˇka da´vala plneˇ najevo, zˇe jsme v Africe a vypadala jak sˇamanske´ tance. Prˇ´ıchozı´ bubnovali s kastaneˇty, na hlaveˇ meˇli cˇepicˇku s bambulı´, kterou meˇli beˇhem tance tocˇit. Postupneˇ je to tocˇenı´ bambulı´ ale prˇestalo bavit. Vzˇdycky jeden z u´cˇinkujı´cı´ch prˇedstoupil doprostrˇed a tak zvla´sˇtneˇ vyskakoval. Zato dalsˇ´ı kulturnı´ vlozˇka uzˇ meˇla celkem u´rovenˇ. Prˇisˇli „kouzelnı´ci“ s obrucˇ´ı a koulı´, kterˇ´ı s onou obrucˇ´ı / skleneˇnou koulı´ efektneˇ ota´cˇeli tak, aby to vypadalo, zˇe levituje ve vzduchu. A na konec prˇisˇel malı´rˇ a za hudebnı´ho doprovodu namaloval hodneˇ abstraktnı´ portre´t. Na ACM-ICPC Opening Dinner cˇili slavnostnı´ vecˇerˇi se jelo autobusy. Ve fronteˇ na´m MisˇoF prˇedstavı´ Ivonu (hlavnı´ organiza´tor za Severnı´ Ameriku, ale je ze Slovenska). 9
Po vystoupenı´ z autobusu projdeme bra´nou dovnitrˇ neˇjake´ho komplexu, ale nenı´ prˇesneˇ jasne´, kam ma´me jı´t da´l. Tak naprˇed projdeme muzeem, pak mineme pa´r lidı´ s tocˇ´ıcı´mi se bambulemi a nakonec useda´me ke stolu spolu s MisˇoFem, Ivonou a jesˇteˇ dveˇma Pola´ky. Na stole ma´ kazˇdy´ dveˇ sklenicˇky na vı´no a stejneˇ tak se tu nale´zajı´ dva druhy na´poju˚ – perliva´ a neperliva´ voda. Coby abstinent si nema´m nacˇ steˇzˇovat :-) MisˇoF naprˇ´ıklad sdeˇlil, jak je to fajn Mı´sto slavnostnı´ vecˇerˇe by´t na ICPC jako analytik: „Kdyzˇ nemusı´m nic rˇesˇit, tak si pustı´m obrazovku ty´mu, ktery´ meˇ zajı´ma´, trˇeba minule Slova´ku˚. To jsem si rˇ´ıkal: Jaj, oni rˇesˇ´ı L-ko. Procˇ ty hlupky rˇesˇ´ı L-ko?“ Fajn, tak to abychom my L-ko radsˇi nerˇesˇili. Na stole se prostrˇ´ıdalo neˇkolik chodu˚. Polı´vka, tak jsme ji sneˇdli. Pak na´m donesli chleba, ten byl asi k te´ polı´vce, tak jsme jej taky sneˇdli. Pak na´m donesli maso, to bylo asi k tomu chlebu. Ale mu˚zˇem radsˇi pocˇkat, jestli na´m zas neˇco donesou – A cˇasem opravdu donesli dalsˇ´ı chleba, ale to uzˇ jsme zas necˇekali. Beˇhem jı´dla na´s obskakovali „muzikanti“ a tleskali na´m do rytmu. Asi na´s chteˇli obveselit. Hned po jı´dle se vyvola´va´, zˇe tu bude velka´ show, kde se snoubı´ velkolepost s kouzlem Maroka (a podobne´ zˇva´sty). Tak se jdem postavit na hledisˇteˇ okolo mı´stnı´ are´ny. Hned prˇed na´mi sedı´ Petr Rysˇavy´, jaka´ to zas na´hoda. Zacˇa´tek akce spocˇ´ıval v pru˚chodu davu „muzikantu˚“. Vysveˇtlı´m, procˇ pı´sˇu muzikanty v uvozovka´ch – mnoho lidı´ tam meˇlo hudebnı´ na´stroj (dokonce i trˇeba housle), neˇco s nı´m i deˇlali, ale nejsem si jisty´, jestli tito lide´ vı´, co je to hudba. Pouzˇ´ıvali na´stroje zcela neza´visle na sobeˇ a vznikala neprˇehledna´ smeˇsice zvuku˚. Pokracˇovala akce na konı´ch – jezdci s pusˇkami se rozjeli a... Paf!!!!! Ou, to jsem se lekl, tak poucˇenı´: azˇ se prˇ´ısˇteˇ takhle rozjedou, tak si zacpat usˇi (jesˇteˇ toto zopakovali asi dvakra´t nebo trˇikra´t). Pokracˇujı´ jezdci na konı´ch, co uzˇ umı´ i neˇco jine´ho nezˇ strˇ´ılet – typicky by´t na koni v neobvykle´ poloze cˇi sebrat neˇco ze zemeˇ (beˇhem toho, co ku˚nˇ beˇzˇ´ı). To, zˇe to bude program na u´rovni bylo da´no najevo uzˇ tı´m, zˇe se z reproduktoru˚ ozvala hudba (nikoli „hudba“). Jesˇteˇ pak vidı´me v da´lce le´tajı´cı´ koberec na prova´zcı´ch (to bylo asi to kouzlo Maroka) a tanecˇnici. Tanecˇnici prˇinesli nosicˇi i s po´diem. Pak vylezla z deky (v sˇatech, ale moc oblecˇena´ nenı´, to jı´ prˇece musı´ by´t zima), chvı´li se prˇedva´deˇla za hudebnı´ho doprovodu, pak vlezla zpa´tky do deky a nosicˇi ji i s po´diem odnesli. Velkolepa´ show je zakoncˇena´ ohnˇostrojem a okolo pu˚lnoci se vracı´me do hotelu.
Tanecˇnice, ohnˇostroj a Koules A co se da´ deˇlat v hotelu? Dalo by se spa´t, ale mı´sto toho hrajeme Koules – pocˇ´ıtacˇovou hru od Jana Hubicˇky, ve ktere´ je cı´lem vystrkat vsˇechny koule z obrazovky a nenechat vystrkat sebe. ´ tery´ 19. 5. – Test syste´mu U Dnesˇek bude nejspı´sˇ plny´ testova´nı´ syste´mu – dopoledne se v ko´dı´cı´ mı´stnosti kona´ Dress Rehearsal a odpoledne pak Open Practice Session. 10
Ra´no si tedy bereme jedine´ veˇci ,ktere´ mu˚zˇeme a soucˇasneˇ musı´me – ty´mova´ tricˇka a jmenovky. Filip se tva´rˇ´ı, zˇe bych si meˇl sundat hodinky, ale jak jinak zjistit, jestli je na souteˇzˇ mu˚zˇem mı´t, nezˇ si je ted’ zkusit vzı´t? „Jestli to nejsou moc chytre´ hodinky, tak by to mohlo projı´t.“ „Mno, jsou ra´diem rˇ´ızene´... To se da´ zneuzˇ´ıt, kdyzˇ by neˇkdo prˇehlusˇil ten cˇasovy´ signa´l vysı´lany´ z Brita´nie, tak by mi mohl poslat zpra´vu podle toho, jak se mi budou tocˇit rucˇicˇky...“ Tak to ˇ a´dne´ mobily, zˇa´dna´ elektronika! nevı´m, jestli mi ty hodinky nechajı´. Prˇicha´zı´me ke vchodu: „Z Musı´te mı´t tricˇka a jmenovky. Jmenovky meˇjte dostatecˇneˇ vysoko. Zˇa´dna´ elektronika.“ Znı´ to celkem deˇsiveˇ, ale zkusı´m projı´t a nikomu hodinky nevadı´. Mnohem vı´c se starajı´ o to, abych nemeˇl vodu Sidi ali a abych meˇl jmenovku spra´vneˇ vysoko. Filip: „Tady jesˇteˇ zˇa´dne´ ´ lohy budou azˇ porˇa´dne´ u´lohy nebudou, jenom neˇjake´ trivia´lnı´, aby si vyzkousˇeli syste´m. U na Practice Session.“ Nacha´zı´me v hale svoje mı´sto. Super, jsme dvana´ctı´, to si necha´me lı´bit. Tak aby na´m to vydrzˇelo. Na obrazovce svı´tı´ logo Univerzity Karlovy a na´pis „Do not touch anything!“ Modera´tor porˇa´d mluvı´ o tom, zˇe nema´me pouzˇ´ıvat zˇa´dnou elektroniku a zˇe se nema´me nicˇeho doty´kat. Co to bliklo cˇerveneˇ na obrazovce? Zˇe ma´me poslouchat pokyny? ˇ ´ıkajı´ trˇeba, zˇe si nema´me povı´dat s jiny´mi ty´my. Nasˇteˇstı´ posunuli Vsˇak my je posloucha´me. R start o asi cˇtvrt hodiny dozadu a nemusı´me tak dlouho cˇekat. Start! Ju˚, tuhle u´lohu zna´me. A tuhle taky. Ale jsou teda dost teˇzˇke´, ty nebudem ko´dit. Kde jsou ty trivia´lnı´ u´lohy, ktere´ Filip sliboval? Nakonec jsme za ty dveˇ testovacı´ hodiny nako´dili trˇi u´lohy a byli jsme ra´di. Filip: „Ja´ jsem v docela dobry´ ko´dicı´ na´ladeˇ, tak na Practice session zkusı´me taktiku, zˇe ko´dit budu jenom ja´, a vy dva budete jenom rˇesˇit.“ Kdyzˇ odcha´zı´me, mu˚zˇeme si vzı´t s sebou, co chceme, ale nesmı´me si to dalsˇ´ı den prˇine´st. Sˇteˇpa´n se rozhodne vzı´t si cˇtverecˇkovany´ blok – schva´lneˇ, jestli na´m dajı´ dalsˇ´ı. A kdyby ne, tak na´m tam dva zbudou. Pak jesˇteˇ potka´va´me dalsˇ´ı Slovenku. Ta je tu pro zmeˇnu za IBM a zve na´s do IBM Chillzone – mı´sta, kde IBM prˇedva´dı´ to svoje Blue Mix a taky tam jsou spolecˇenske´ hry. Filip mi vcˇera prozradil algoritmus, ktery´m by se Ty u´lohy nejsou azˇ tak trivia´lnı´ dalo vyrˇesˇit jedno teˇzˇke´ E z Codeforces. Vypada´ to jednodusˇe, tak to zkousˇ´ım nako´dit po obeˇdeˇ. Ale kdyzˇ ja´ neˇco chci nako´dit... Hodinu trva´ nezˇ to nako´dı´m, pu˚l hodiny nezˇ to odladı´m. A pak mi to rˇekne zˇe mi dosˇla pameˇt’. Ostatnı´ mezitı´m odesˇli na odpovı´da´nı´ ota´zek. Ja´ to zkusı´m jesˇteˇ trochu pameˇt’oveˇ optimalizovat. Wrong answer! Ted’ uzˇ toho ma´m tak akora´t dost! Vzda´va´m to. Jdu za ostatnı´mi. Ale kde jsou? Doka´zˇu se vu˚bec sa´m bez ostatnı´ch tady zorientovat? Nejsem si jisty´, ale co mi zby´va´. Jdu tam, kde si mysı´m, zˇe bylo odpovı´da´nı´ ota´zek, ale to uzˇ tam da´vno nenı´. Tak na Practice Session? Uka´zalo se, zˇe Practice Session je neˇco u´plneˇ jine´ho nezˇ jsme si mysleli a zˇe to je jenom to, zˇe kdokoli mu˚zˇe prˇijı´t do ko´dı´cı´ mı´stnosti a deˇlat si tam co chce. Takzˇe tam jsem je taky nenasˇel. Vracı´m se zpa´tky – no vida, jsou tady. Vecˇer je Codeforces pro druhou divizi – poslednı´ sˇance prˇed souteˇzˇ´ı si zvy´sˇit rating, abych nebyl modry´. Prˇed CodeForces si se Sˇteˇpa´nem hrajem na me´m pocˇ´ıtacˇi Koules (na Gentoo, bude trˇeba prˇebootovat na Ubuntu). Doufal jsem, zˇe prˇebootovat stihnu, ale teˇsneˇ ne. Kdyzˇ se prˇihla´sı´m na Ubuntu, je asi pu˚l minuty po startu. Ale nevadı´, to nenı´ azˇ takova´ cˇasova´ ztra´ta. No tak, prˇipoj se na Wi-Fi! Neˇjak se mu nechce, ach jo. Tak cˇeka´m, cˇeka´m a prˇipojı´m se azˇ po ´ loha A ma´ dlouhe´ cˇtvrt hodineˇ. Hm... ale tak to jesˇteˇ zkusı´m (celkem jsou to na dveˇ hodiny). U zada´nı´, tak radsˇi nako´dı´m B, C, D. Pak jesˇteˇ bych ra´d E, ale to vyzˇaduje hleda´nı´ nejkratsˇ´ı cesty. Hleda´nı´ nejkratsˇ´ı cesty vyzˇaduje haldu. No je´je, to ma´m co deˇlat. Filip se Sˇteˇpa´nem jdou na vecˇerˇi, ja´ ko´dı´m E, ale nakonec se mi to nepovedlo. Ajta, B, C, D nestacˇilo! Klesnul mi rating, takzˇe jsem porˇa´d modry´. 11
Cˇekal jsem si, zˇe nezˇ Codeforces prozradı´, jak se zmeˇnil rating (cozˇ je vzˇdycky obrovska´ doba) tak se ostatnı´ uzˇ vra´tı´. Tak zkusı´m jı´t za nimi na vecˇerˇi. Kde je? Myslel jsem si, zˇe je tam, co snı´daneˇ, ale to jsem asi sˇpatneˇ rozumeˇl. Kam se mi zase ztratili? Zkusı´m jı´t s davem, snad meˇ na vecˇerˇi dovede – byla (asi ne moc prˇekvapiveˇ) tam, kde byla v sobotu a v nedeˇli. Ale svu˚j ty´m tam porˇa´d nevidı´m. Navecˇerˇ´ım se. Tak zˇe by se vra´tili na pokoj? Po nalezenı´ cesty zpa´tky zjisˇt’uji zˇe ne. Co ja´ tu sa´m? Mu˚zˇu se jesˇteˇ podı´vat do te´ Chillzone, jestli ji najdu. Jo´, nasˇel jsem ji. A jsou tady, hrajı´ karty se Syrsky´m ty´mem. Tak ja´ jdu pro zmeˇnu skla´dat puzzle. Strˇeda 20. 5. ra´no – Teˇsneˇ prˇed souteˇzˇı´ ˇ a´dne´ mobily, zˇa´dna´ elektronika! Jmenovky dostatecˇneˇ vysoko!“ Zacˇa´tek stejny´ jako vcˇera – „Z Tentokra´t uzˇ jsem se poucˇil ze zimy, a ma´m mikinu s dlouhy´m ruka´vem, takzˇe mi stejneˇ hodinky nejsou videˇt. Pak jdeme da´l, je tu fronta. Fronta, ale na co? To byste neveˇrˇili, na jakou blbost – na fotku s poha´rem. Do tak dlouhe´ fronty si prˇece nebudem stoupat jenom proto, abychom se vyfotili s poha´rem. Jestlipak vu˚bec ty ty´my, co stojı´ ve fronteˇ veˇdı´, procˇ... Zkousˇ´ıme se zeptat, a opravdu veˇdı´. Martin Raszyk: „Tak co, uzˇ jste se vyfotili s poha´rem?“ „Nepotrˇebujem. My se s nı´m vyfotı´me, azˇ ho vyhrajem.“ „Jo ta´k!“ Mı´sto toho jdeme na na´dvorˇ´ı, abychom meˇli trochu cˇerstve´ho vzduchu. Kdyzˇ vlezem zpa´tky dovnitrˇ, ve fronteˇ zby´va´ jeden ty´m. To jsme to dobrˇe vychytali, to uzˇ se klidneˇ s poha´rem vyfotı´me. Jdem do ko´dı´cı´ mı´stnosti. Musı´me jı´t prˇesneˇ podle prˇedpisu˚ – peˇkneˇ vedle sebe a prˇedepsaTaky ma´me fotku s poha´rem nou cestou. Sedneme si na mı´sto, sta´le je asi pu˚l hodiny do zacˇa´tku. Tak schva´lneˇ dali na´m dalsˇ´ı cˇtverecˇkovany´ blok? Dali. „No to jsme si mohli vzı´t vsˇechny trˇi.“ Na stole ma´me balı´cˇky se svacˇinou. Fajn, zatı´m nesmı´me na nic sˇahat, ale jakmile zacˇne souteˇzˇ, tak je uklidı´me pod stu˚l. Ju˚u˚, kdyzˇ se dotknem mysˇi, tak na´m to rˇekne, zˇe se nema´me nicˇeho doty´kat, a sousednı´mu ty´mu to rˇekne, zˇe na´m ma´ rˇ´ıct at’neblbnem. No to je sranda! Jak si to dovolujı´, chtı´t po ty´mech, aby porusˇovali pravidla? Sami prˇece sta´le dokola ˇ a´dna´ komunikace mezi ty´my!“ zdu˚raznˇujı´: „Z To je jesˇteˇ cˇasu, ted’ uzˇ to neposunou – je to oficia´lneˇ nastavene´ na jedena´ctou, aby mohli lidi fandit. Co takhle zajı´t na za´chod, jde to? Tak pry´ ne, teprve azˇ zacˇne souteˇzˇ – no to tak, prˇece tam nebudu chodit, kdyzˇ si budu cˇ´ıst zada´nı´. Sice jsme uzˇ nestihli otestovat strategii Filipa jako hlavnı´ho kode´ra, ale tak ji pouzˇijem azˇ teˇd’. Na zacˇa´tku Sˇteˇpa´n opı´sˇe sˇablonu, ja´ uklidı´m svacˇinu a Filip rozbalı´ u´lohy. Ja´ si na zacˇa´tku beru poslednı´ trˇetinu u´loh, Filip prvnı´, Sˇteˇpa´n prostrˇedek. Cˇ´ıst jako prvnı´ A nema´ cenu, protozˇe to budou cˇ´ıst vsˇichni. Je ale sˇance, zˇe neˇkde uprostrˇed bude lehka´ u´loha, a kdyzˇ si ji prˇecˇtem jako prvnı´, budem mı´t sˇanci ji mı´t jako prvnı´ (za to jsou specia´lnı´ ceny). Jesˇteˇ se dozvı´da´m, zˇe minule udeˇlali sestrˇih radova´nı´ se ty´mu˚ z vyrˇesˇeny´ch u´loh. Tak vzˇdycky, kdyzˇ neˇco vyrˇesˇ´ıme, tak se musı´me porˇa´dneˇ radovat – a Filip vzˇdycky vezme tu u´lohu, zmuchla´ ji a zahodı´ pod stu˚l. Uzˇ to nebude dlouho trvat... Strˇeda 20. 5. dopoledne – Jde se na veˇc Pozor, uzˇ to zacˇ´ına´. Deset. Deveˇt. Osm. Sedm. Sˇest. Peˇt! Cˇtyrˇi! Trˇi! Dva! Jedna! Start!! 12
Beru balı´cˇky s jı´dlem a da´va´m je pod stu˚l. Dosta´va´m od Filipa zada´nı´. Je´mine, procˇ jsou zase ta zada´nı´ tak dlouha´? Filip: „D je neˇjaka´ geometrie, dokonce 3D geometrie, to radsˇi rˇesˇit nebudeme.“ J ma´ peˇkne´ obra´zky, tak si to zkusı´m prˇecˇ´ıst. Filip mi vysveˇtluje, co se chce v C, budizˇ, zamyslı´m se nad tı´m, azˇ budu mı´t cˇas. J snad cha´pu, to se pocˇ´ıta´ vektorovy´m soucˇinem, ale jak spocˇ´ıtat pocˇet mozˇnostı´ jesˇteˇ prˇesneˇ nevı´m. „Hej, A uzˇ neˇkdo ma´, to bude lehky´!“ Filip jde k pocˇ´ıtacˇi nako´dit A, jdu se bavit se Sˇteˇpa´nem. Sˇteˇpa´n mi vysveˇtlı´ E, ja´ jemu J. Uka´zalo se, zˇe naprˇed jsem J cha´pal trochu sˇpatneˇ, ale ted’ to da´va´ smysl a chce se spocˇ´ıtat pocˇet mozˇnostı´, jak zapsat cˇ´ıslo jako ab + cd. Hm, pocˇet mozˇnostı´, jak zapsat cˇ´ıslo jako ab bychom umeˇli, ale jak z toho pak spocˇ´ıtat vy´sledek? Sˇteˇpa´n: „To je konvoluce, to je eFeFTe´cˇko, to umı´me!“ Hezky! to bychom mohli da´t jako prvnı´... Mozˇna´ tam bude trˇeba optimalizovat vyhleda´va´nı´, ale snad to sebeˇhne. „Filipe, ma´me J, spocˇti kazˇde´mu cˇ´ıslu jeho deˇlitele a pak to umocni eFeFTe´cˇkem na druhou.“ Ja´ se zatı´m meˇl podı´vat na F, ktere´ by taky meˇlo by´t lehke´. Jo, to bude neˇjaka´ vlna, mozˇna´ dynamika, ale potrˇeboval bych se o tom poradit. To FFT jim pry´ nefunguje... Ach jo. Taky se zkousˇ´ım zamyslet nad C, ale nevı´m. Je to teˇzˇke´, nelı´bı´ se mi to. Po odladeˇnı´ beˇzˇ´ı J neprˇ´ıjemneˇ dlouho. No snad to sebeˇhne, uvidı´me. Posı´la´me, Accepted! Ale neˇkdo uzˇ to stihnul prˇed na´mi, sˇkoda. Jdu se s Filipem pobavit o F. Snad to pu˚jde, akora´t zatı´m ma´me moc velkou slozˇitost. Taky bychom mohli nako´dit M – je to opruz, ale lehke´. Filip: „Sˇteˇpa´ne, koukni se na D, to ma´ neˇjak hodneˇ lidı´.“ „Pocˇkej, nebyla to ta 3D geometrie?“ Sˇteˇpa´n si cˇte zada´nı´... „Aha´, ona to je jenom 2D geometrie.“ ... „Ne, jenom 1D :-D, to nako´dı´me, to je lehky´, to je jenom bina´rnı´ vyhleda´va´nı´.“ Prima, akora´t to vyzˇaduje zna´t objem pru˚niku koule a rovinne´ho pa´su. OK, to zintegruju. Snad to bude dobrˇe, kdyzˇ vysˇlo, zˇe koule ma´ objem 4 3 ˇ ma´me 3 u´lohy. Taky uzˇ ma´m rozmysˇleno, jak rˇesˇit M. 3 πr . Jo funguje to, uz S Filipem jsme domysleli F, tak to jde nako´dit, ja´ zatı´m prˇesveˇdcˇ´ım Sˇteˇpa´na, zˇe mi v M funguje ta jedina´ netrivia´lnı´ cˇa´st. Jejda, F funguje jinak nezˇ zada´nı´, asi jsem to sˇpatneˇ prˇecˇetl. Ponorˇ´ım se do zada´nı´... jo takhle, ono kdyzˇ se zma´cˇkne doprava, tak to prˇeskocˇ´ı stejna´ pı´smenka. Nasˇteˇstı´ to Filip doka´zˇe rychle opravit. Accepted! Filip jde ko´dit trivia´lnı´ cˇa´sti M, Sˇteˇpa´n chce rˇesˇit C „To ma´ Pavel ve sve´ knı´zˇce, to se na na´s bude zlobit, kdyzˇ to nevyrˇesˇ´ıme.“ Nasˇteˇstı´ se mi povede Sˇteˇpa´na prˇesveˇdcˇit, zˇe E je nadeˇjneˇjsˇ´ı. A taky zˇe jo, ma´me to! Sˇteˇpa´n: „Filipe, pust’meˇ tam, nako´dı´m E. To M bude jesˇteˇ na dlouho.“ Prima, Filip si necha´ vysveˇtlit tu zajı´mavou cˇa´st M a jde rˇesˇit... C. Ach jo, vy si s tou u´lohou neda´te pokoj? „Ale to jsou jenom neˇjaky´ toky, neˇco jako maxima´lnı´ tok s minima´lnı´ cenou...“ „A to se umı´?? To je prˇece prˇesneˇ ono.“ „Jo, to se umı´, to ma´me dokonce v ty´move´m dokumentu.“ „Aha :-D, no tak to nako´di!“ Ujasnili jsme si s Filipem, jak se deˇla´ C prˇes maxima´lnı´ tok s minima´lnı´ cenou a taky jsem se Sˇteˇpa´nem rˇesˇil, co na´m nefunguje na E. Filip nako´dil C, Sˇteˇpa´n opravil E, dvakra´t Accepted! Filip pokracˇuje v ko´deˇnı´ M. Ja´ se Sˇteˇpa´nem rˇesˇ´ıme I. Aha, takzˇe pozice toho pand’ula´ka, co to chce prˇeplavat je dana´. Tak to kdyzˇ lodeˇ plujou obra´ceneˇ, tak je stacˇ´ı jenom prˇeklopit. Jo, a ty lodeˇ, co jsou da´l musı´me posunout trochu dozadu... nebo doprˇedu? „Filipe, napisˇ I, to je neˇjaky´ lehky´.“ „Fajn, co ma´m nacˇ´ıst?“ „Naprˇed nacˇtesˇ neˇjaky´ch 6 cˇ´ısel, potom N rˇa´dku˚, v kazˇde´m neˇjake´ pı´smenko, pak pocˇet lodı´ M a M dvojic cˇ´ısel. A kdyzˇ to pı´smenko bylo ’E’, tak to druhe´ cˇ´ıslo z dvojice vyna´sob −1.“ „Jo, takzˇe nacˇtu neˇjaky´ command a neˇco podle neˇj.“ „Dejme tomu, ale on to nenı´ ani tak command, neveˇtvı´sˇ se podle neˇj.“ „No dobry´, a da´l?“ „Tak a ted’ k tomu prvnı´mu cˇ´ıslu prˇicˇti i-kra´t neˇco. Nebo mozˇna´ (i + 1)-kra´t.“ „Cozˇe?? Jake´ i, jake´ neˇco?“ „i tam prˇece ma´sˇ, to je index, ktery´m procha´zisˇ ten cyklus a neˇco je neˇjaka´ konstanta, co se spocˇte z teˇch sˇesti cˇ´ısel
13
na prvnı´m rˇa´dku. Sˇteˇpa´ne, spocˇti, kolik to je. Jo a taky to mu˚zˇe by´t necelocˇ´ıselne´.“ „No budizˇ p += i*neco;“ ... Moc jsem Filipovi neza´videˇl. Navı´c ten ko´d pak odpovı´dal sˇpatneˇ. Filip: „A nestacˇ´ı ten vy´sledek neˇcı´m vydeˇlit? Trˇeba tı´m V? Jo ne, to by pak nefungoval zas ten druhy´ vstup...“ Filip se vra´til k M. Jejda... co ma´me sˇpatneˇ? Sˇteˇpan rozebral tu prvnı´ uka´zku vstupu. Jak mu˚zˇe by´t spra´vna´ odpoveˇd’ tolik? Chvı´li jsme vu˚bec netusˇili. Sˇteˇpa´n: „Pocˇkej, vzˇdyt’ my to pocˇ´ıta´me v u´plneˇ jiny´ch jednotka´ch. Ma´me to pocˇ´ıtat v sekunda´ch a pocˇ´ıta´me to v metrech lodı´.“ „Filipe, vydeˇl vy´sledek V!“ „To ale potom nevyjde ta druha´ uka´zka.“ Aha, jak to? Jo, jesˇteˇ tady to T1 , T2 jsme dostali v sekunda´ch. „Jo, tak jesˇteˇ T1 , T2 vyna´sob V.“ Filip z toho nebyl dvakra´t moudry´, ale Accepted! Co ma´ jesˇteˇ smysl rˇesˇit? „L ma´ dost ty´mu˚, mozˇna´ trochu H, vyrˇesˇte L!“ Zatı´mco si Sˇteˇpa´n prˇecˇte L, pomu˚zˇu Filipovi najı´t chybu v prˇ´ıkazu posunutı´ v M – dokud se chyby projevujı´ na uka´zkovy´ch vstupech, tak se ladı´ snadno. Sˇteˇpa´n: „L je prˇesneˇ to, co jsme ko´dili na tre´ninku, ty Huffmannovy ko´dy“. Filip posˇle M – Wrong Answer! Hm, to se dalo cˇekat. Sˇteˇpa´n mi vysveˇtlı´ L – jasneˇ, Huffmannovy ko´dy, akora´t je trˇeba to deˇlat trochu chytrˇe, protozˇe jinak by teˇch stavu˚ bylo moc – musı´me si je pamatovat dohromady. Filip: „Nasˇel jsem chybu v M, ma´m to poslat? Nevypisoval jsem chybovou hla´sˇku prˇi otvı´ra´nı´ okna.“ „Jasneˇ, posˇli!“ Accepted! Super, tak jdem vsˇichni na L a nic jine´ho uzˇ nerˇesˇ´ıme. Sˇteˇpa´n vysveˇtlil Filipovi, jak to nako´dit, ja´ meˇl jen trivia´lnı´ u´koly jako „Zjisti, kolikra´t je tam na n! -kra´t s pravdeˇpodobnostı´ paa pbb pcc pdd . Taky zacˇa´tku co a s jakou pravdeˇpodobnostı´.“ Prˇece a!b!c!d! bylo trˇeba si rozmyslet, jak pocˇ´ıtat strˇednı´ de´lku prˇi slucˇova´nı´ – naprˇed jsme pocˇ´ıtali pru˚meˇr, ale to bylo sˇpatneˇ – spra´vneˇ meˇl by´t va´zˇeny´ pru˚meˇr podle pravdeˇpodobnostı´. Docela meˇ la´ka´ se podı´vat na u´lohu H, ktera´ je pry´ jesˇteˇ rˇesitelna´. Chteˇjı´ se postavit neˇjake´ sˇachty, aby se neˇco optimalizovalo, ale jesˇteˇ moc necha´pu co. A co kdyzˇ jim ted’ nebude fungovat L a budou se na meˇ zlobit, zˇe si cˇtu neˇco jine´ho a nerˇesˇ´ım s nimi L, jak jsme se dohodli... Posı´la´me L. Accepted! „Super, jdem na H!“ Celkem na´m trvalo pochopit, co se po na´s chce – aby to efektivneˇ odva´zˇelo hlı´nu cˇi co? Ale nakonec jsme pochopili, zˇe se v kazˇde´m bodeˇ spocˇte vzda´lenost k okraji a to se zintegruje. S trˇicˇtvrteˇ hodinou do konce jsme plnı´ optimismu. „To da´me! Ostatnı´ ty´my se urcˇiteˇ ba´ly toho integra´lu.“ Na zacˇa´tek asponˇ neˇjake´ lehcˇ´ı u´koly, trˇeba spocˇ´ıtat ten intera´l, kdyzˇ uzˇ vı´me rozmı´steˇnı´ teˇch sˇacht. Ja´ to zkousˇel vymyslet, ale Sˇteˇpa´n s Filipem to meˇli rychleji. Sice sˇpatneˇ, ale dalo se to snadno opravit :-). Jak ted’ najı´t optimum? Pro jednu sˇachtu to jde terna´rnı´m vyhleda´va´nı´m (konvexnı´ to je, vzˇdyt’to je kvadraticke´). Ale co s vı´c sˇachtami? Sˇteˇpa´n: „Tak co trˇeba umı´stit tu nejveˇtsˇ´ı sˇachtu a tı´m to nejak prˇeve´st na prˇedchozı´ prˇ´ıpad?“ „Hej, to funguje! Protozˇe na ten zbytek aplikujeme stejnolehlost a cena se vyna´sobı´ k2 , kde k je koeficient stejnolehlosti.“ „Jo, to je jenom stejnolehlost.“ „Teda odborneˇ se tomu rˇ´ıka´ asi neˇjak jinak.“ „Odborneˇ se rˇ´ıka´, zˇe je to homogennı´.“ Jo, to je to spra´vne´ slovo. Tedy pak jesˇteˇ trochu mezi mnou a Sˇteˇpa´nem va´zla komunikace – naprˇed si myslel, zˇe se to cele´ spocˇte z umı´steˇnı´ jedne´ sˇachty geometrickou posloupnostı´ (cozˇ nesˇlo), pak chteˇl pocˇ´ıtat vy´sledek rekurzı´ (cozˇ bylo pomale´). Filip vzˇdycky rychle nako´dil, co mu Sˇteˇpa´n rˇ´ıkal. Nakonec jsem napsal spra´vnou funkci na papı´r a prˇedal ji Filipovi. Pak uzˇ tomu Sˇteˇpa´n rozumeˇl, tak rˇekl Filipovi, jak spocˇ´ıtat pozice jednotlivy´ch sˇacht. Program vypsal spra´vna´ cˇ´ısla – kouzlo! Posı´la´me – Accepted! „Jo!!!“ Za teˇch zbyly´ch 5 minut uzˇ nic nevyrˇesˇ´ıme. Ale ma´me 10 u´loh, jsme da´vacˇi :-) To jsme jesˇteˇ na zˇa´dne´ souteˇzˇi ani tre´ninku nemeˇli :-) Ani na teˇch jednoduchy´ch tre´ninzı´ch, na tom Filipoveˇ prˇedmeˇtu na MatFyzu.
14
Strˇeda 20. 5. odpoledne – Vyhla´sˇenı´ Po souteˇzˇi jsme si uzˇ´ıvali, jak jsme dobrˇ´ı. Pavel: „Tak co?“ „Ma´me obeˇ.“ Martin Razsyk: „My ma´me 5 u´loh.“ „Hm, my ma´me 10.“ Taky MisˇoF prˇisˇel a smeknul prˇed na´mi imagina´rnı´ klobouk. MisˇoF vı´, kolika´tı´ jsme? Vı´, ale nepovı´. „Ja´ myslı´m, zˇe je jasne´, zˇe je to dobry´, a ted’ uzˇ je jenom ota´zka, jak moc.“ Nevadı´, my ra´di pocˇka´me na vyhla´sˇenı´. Ja´ jsem hlavneˇ zveˇdavy´, jestli jsme do prvnı´ desı´tky, jak psal Baklazˇa´n (v obycˇejne´ pocˇet-prstu˚-na-rukou soustaveˇ). Zˇe budem mı´t medaili bylo celkem jasne´, zˇe zlatou ne, bylo taky jasne´. Ma´me sˇanci na strˇ´ıbro. Co ted’? Jde se na vyhla´sˇenı´? A co si da´t neˇjake´ jı´dlo? „Mirku! Kam jsi zasˇantrocˇil balı´cˇky?“ Beˇhem souteˇzˇe se na neˇ vu˚bec nevzpomneˇlo – celou dobu bylo, co deˇlat. Dojdem do haly, kde bude slavnostnı´ vyhla´sˇenı´, pry´ nemusı´me speˇchat, protozˇe se neˇkomu na souteˇzˇi udeˇlalo sˇpatneˇ, tak to zacˇne o neˇco pozdeˇji. A pak se celkem dlouho zas deˇkuje (stejneˇ jak na zaha´jenı´). Kra´li Mohamadovi sˇeste´mu za za´sˇtitu. A v neposlednı´ rˇadeˇ taky studentsky´m dobrovolnı´ku˚m: „Ja´ bych ted’ pozˇa´dal vsˇechny studentske´ dobrovolnı´ky, aby si stoupli a zatleska´me jim“. Uprostrˇed te´to nudy je zas kulturnı´ vlozˇka – opeˇt lidi s kastaneˇty a tocˇ´ıcı´mi se bambulemi. Potom prˇisˇla bicı´ kapela, ktera´ meˇla dokonce neˇco jako dirigenta, a zajı´mave´ na nı´ bylo, jak byla „demograficky vyva´zˇena´“. Byla v nı´ zˇena, dı´teˇ, cˇernoch, holohlavy´ beˇloch, ... Jen to chvı´li vypadalo, zˇe ta kapela neumı´ prˇestat a hraje porˇa´d da´l. Vzˇdycky se neˇkdo pokusil prˇestat, ale ostatnı´ hra´li da´l, tak i on pokracˇoval. Ale nakonec kapela dohra´la a deˇkovacˇka pokracˇuje: „Ja´ bych chteˇl podeˇkovat studentsky´m dobrovolnı´ku˚m, bez ktery´ch by se tato skveˇla´ akce nikdy nemohla odehra´t, a tak bych chteˇl pozˇa´dat vsˇechny studentske´ dobrovolnı´ky, aby si stoupli a podeˇkujme jim potleskem...“ Cozˇe, uzˇ zase?! Ne zˇe bych chteˇl upı´rat za´sluhy studentsky´m dobrovolnı´ku˚m, ale ra´d bych se docˇkal toho vyhla´sˇenı´. Tak trˇeba tu ten rˇecˇnı´k nebyl na zacˇa´tku, tak nevı´, zˇe uzˇ jsme to deˇlali. Konecˇneˇ se odkry´vajı´ vy´sledky – hezky od poslednı´ho, aby to bylo napı´nave´. Nakonec se dosta´va´me k vrcholu tabulky. Dost dobre´! Porazili jsme vsˇechny Pola´ky. Jsme osmı´, ma´me strˇ´ıbrnou medaili! A hlavneˇ zˇe jsme do prvnı´ desı´tky, jak chteˇl Baklazˇa´n. Jdeme na po´dium. Kdyzˇ jsem skoncˇil kdysi osmy´ na IMC, tak jsem z toho byl nadsˇeny´ – vyskocˇil jsem ze sedacˇky, dobeˇhnul si pro medaili. Procˇ jsou tady vsˇichni tak va´zˇnı´? Jsme da´vacˇi u vsˇech vsˇudy! Kdyzˇ jdem coby medailisti na spolecˇnou fotku, tak uzˇ toho ma´m tak akora´t. „Juchu˚u˚!“, vyskocˇ´ım si. „A to zrovna rˇ´ıkali, jak jsme mezi Jsme da´vacˇi MatFyza´ky docela norma´lnı´ “, napomenul meˇ Filip. Ach jo, co je to za medaili, kdyzˇ se z nı´ cˇloveˇk nemu˚zˇe porˇa´dneˇ radovat? A pak je „Celebration with dinner“. Pry´ ma´me jı´t s davem za „muzikanty“ a ti na´s tam dovedou. A vskutku, dovedli na´s na koberec rozprostrˇeny´ na te´ tra´veˇ, po ktere´ se nesmı´ chodit. Filip: „To by meˇ zajı´malo, co je jejich na´rodnı´ na´poj.“ Prˇedstavoval si asi neˇco alkoholicke´ho, ale podle oslavy to vypadalo, zˇe jejich na´rodnı´ na´poj je pomerancˇovy´ dzˇus. Meˇli tu i Marocˇany s kastaneˇtami a bambulemi a ty´pka s obrucˇemi ze zaha´jenı´. Krom toho tu byla i zvı´rˇa´tka, lidi si mohli kuprˇ´ıkladu pu˚jcˇit hada a vyfotografovat se s nı´m. Ja´ si na hada netroufnul, tak jsem mı´sto toho na sebe nechal posadit asponˇ opicˇku. Zˇa´dna´ dlouhodobeˇjsˇ´ı za´bava tu ale nebyla, a tak jsme sˇli zpa´tky na pokoj, kde jsme (ja´, Filip a Sˇteˇpa´n) hra´li karty a Koules.
15
Atrakce na slavnosti Cˇtvrtek 21. 5. – Velbloudi a na´vrat domu˚ Ra´no se jdeme podı´vat na velbloudy. Ua´a´, ono uzˇ se vsta´va´? Kdyzˇ my jsme celkem dlouho hra´li Koules. No jo, uzˇ letim, sˇe´fe. Po snı´dani vyra´zˇ´ıme k velbloudu˚m. Jde s na´mi i Pavel s tı´m, zˇe on se vozit na velbloudech nebude, ale bude na´s fotit. Cestou na´s prona´sleduje jisty´ automobil – „Vy jdete na velbloudy? Ja´ ma´m velbloudy hned tam za rohem. Ja´ va´s tam dovezu. Zdarma!“ „Jo, jdeme na velbloudy, ale ra´di tam dojdeme peˇsˇky, vı´me, zˇe to je kousek.“ Kdo vı´, kam by na´s zase dovezl :-) Je trˇeba se taky prˇipravit na jiste´ smlouva´nı´. Kolik ma´me Dirhamu˚? Filip 250, Sˇteˇpa´n 200, to je celkem 450. Hlavneˇ jim neprokecnout, kolik prˇesneˇ ma´me. Prˇicha´zı´me k prvnı´m velbloudu˚m. Tak schva´lneˇ, bude to ten cˇloveˇk z toho auta? A je, tak na´m asponˇ nekecal. Tak procˇ na´s chteˇl teˇch pa´r metru˚ dove´zt? Asi proto, zˇe pak bychom uzˇ museli jı´t k neˇmu. „Chcete hodinu, pu˚l hodiny?“ „Pu˚l hodiny.“ Jen si to mozˇna´ budem muset hlı´dat, aby pak naschva´l neprˇeta´hnul a neu´cˇtoval vı´c. „Kolik to stojı´?“ „200 Dina´ru˚ na cˇloveˇka“ „To je pro na´s moc, tolik nema´me...“ Tak co, da´ se s nı´m smlouvat? „Hm... Jste studenti? To bych va´m mohl da´t slevu: 150 Dina´ru˚ na cˇloveˇka.“ Safra, tak to se trefil u´plneˇ prˇesneˇ. „Ma´te to levneˇjsˇ´ı, obvykle to je za 200 Dina´ru˚.“ Jo, to bychom mu i celkem veˇrˇili. Tak co, berem to? Shodli jsme se, zˇe berem.
16
Na velbloudech byl nejdobrodruzˇneˇjsˇ´ı na´stup. Naprˇed musel majitel dlouho velblouda prˇesveˇdcˇovat, aby si kleknul (cha´pu velbloudy, klekat na tu zem by se mi taky nechteˇlo), pak jsme na neˇ vylezli a nakonec si velbloud stoupnul – ue´e´e´ to ha´zı´ doprˇedu, dozadu, pane jo, to jsem neˇjak vysoko. Obava z prˇetahova´nı´ cˇasu a vysˇsˇ´ı ceny se uka´zala by´t licha´ – chteˇl zaplatit prˇedem. To na´s trochu (kdyzˇ uzˇ jsme sedeˇli na velbloudech) zaskocˇilo, ale dohodli jsme se, zˇe zaplatı´me pak. Pak se velbloudi prˇiva´zali k sobeˇ, a pru˚vodce je vzal na pu˚lhodinovou trasu. Cestou na´s obı´hal a fotil Pavel. Taky se k na´m sami od sebe prˇipojili mensˇ´ı velbloudi se sva´zany´ma prˇednı´ma nohama. Obskakovali na´s a porˇva´vali mezi sebou a nasˇimi velbloudy neurcˇitou samohla´skou. Cˇasem je to ale prˇestalo bavit. „Mirku, ten tvu˚j velbloud je neˇjak zticha.“ „No jo, ma´m lepsˇ´ıho velblouda.“ „Nevı´m, jak lepsˇ´ıho, ja´ bych rˇekl nudneˇjsˇ´ıho.“ Pak jsme slezli z velbloudu˚, zaplatili, vyfotili se jesˇteˇ jednou (prˇicˇemzˇ velbloud poslintal Filipovi tricˇko) a sˇli jsme zpa´tky si zabalit veˇci.
Co to ma´ Filip na tricˇku?
Prˇi odchodu z hotelu byli recepcˇnı´ trochu zaskocˇenı´: „Vy uzˇ odcha´zı´te? Ja´ va´s tu ma´m do 24. 5.“ „Ale my urcˇiteˇ odjı´zˇdı´me dneska, dalsˇ´ı 3 dny tu cˇekat nebudem.“ Pak jsme se jesˇteˇ nepotkali s Pavlem – sˇel na´s hledat na pokoj, protozˇe jsme meˇli zpozˇdeˇnı´. Ale pak jsme se nasˇli a jeli jsme. V Maroku meˇli asi prˇi odletu prˇ´ısne´ bezpecˇnostnı´ pokyny, kazˇde´ho ohmata´vali, jestli neˇco nepasˇuje. Cestou jsme si hra´li – Koules, prˇetahova´nı´ o stu˚l, ska´kajı´cı´ mı´cˇek, Zˇa´rovky. To by meˇ zajı´malo, jestli bude stacˇit prˇi prˇ´ıletu do Frankfurtu obcˇanka, nebo budu potrˇebovat pas. Copak o to, ja´ ma´m stejneˇ pas vı´c po ruce nezˇ obcˇanku, ale stejneˇ by meˇ to zajı´malo. Tak jsem si prˇipravil i obcˇanku a sˇel ke kontrole. Podal jsem mu obcˇanku a letenku (prˇesneˇji Boarding pass) z Frankfurtu do Prahy. Cˇekal, co jesˇteˇ mu da´m. Tak jsem jesˇteˇ vyta´hnul zbytek Boarding passu z Maroka do Frankfurtu. Porˇa´d se dı´val, jako by jesˇteˇ neˇco cˇekal. Budizˇ, da´m mu pas, aby nebyl tak zmateny´. To uzˇ stacˇilo, vra´til mi veˇci a pustil meˇ da´l. Pak bylo trˇeba projı´t jesˇteˇ znovu rentgenem. Mysleli jsme, zˇe Marocˇani byli du˚kladnı´, ale to jsme jesˇteˇ nebyli ve Frankfurtu. Mne si opeˇt vzali stranou na ohmata´nı´, Filip se mi posmı´val: „Mirku, co to pasˇujesˇ? ... Jejda, oni zabavili mu˚j batoh!“ Filipovi vyha´zeli z batohu pu˚lku veˇcı´ a zjistili, zˇe Filip v neˇm tajneˇ propasˇoval skrz Marockou kontrolu pu˚llitrovou la´hev s vodou Sidi ali! Taky Sˇteˇpa´nu˚v batoh prosˇel du˚kladnou kontrolou – ten tam nemeˇl nic tolik za´vadne´ho jako Filip, jenom hromadu marocky´ch suveny´ru˚. Kdyzˇ jsme doleteˇli do Prahy, zjistili jsme jak to, zˇe norma´lneˇ batohy z pa´su˚ nepadajı´. Ona tam je totizˇ fotobunˇka, ktera´ zastavı´ pa´s pokazˇde´, kdyzˇ by prˇijı´zˇdejı´cı´ batoh meˇl vrazit do pra´veˇ projı´zˇdeˇjı´cı´ho. Mu˚j batu˚zˇek prˇijede opeˇt jako poslednı´ – pro kontrolu do neˇj opeˇt sˇa´hnu a vyta´hnu strˇ´ıbrnou medaili z ICPC – to taky jen tak neˇkdo asi nema´. Na Prazˇske´m letisˇti na na´s cˇekala Mı´sˇa s na´pisem „Filip, silver medalist“ a nabı´dla na´m svoje susˇenky (skveˇle´ jako vzˇdycky). Ale jesˇteˇ bylo trˇeba vymyslet, jak se dostat domu˚. Doufal jsem, zˇe jesˇteˇ stihnu poslednı´ metro ze Zlicˇ´ına, kam bych jel autobusem cˇ´ıslo 100, ale poslednı´ stovka uzˇ odjela. Ach jo, zˇe ja´ si ten batu˚zˇek nemeˇl odbavovat. Filip na mobilu vyhledal cestu na Luka a zjistil, zˇe jesˇteˇ mu˚zˇu stihnout poslednı´ metro opacˇny´m smeˇrem – pojedu s nimi autobusem na Veleslavı´n,
17
pak metrem na Mu˚stek, a pak na Luka (a Filip vystoupı´ uzˇ na Andeˇlu). No budizˇ, asponˇ se podı´va´m na tu novou stanici metra. To je ta bez eskala´toru˚, zˇe? Zjistil jsem, zˇe chybeˇjı´cı´ eskala´tory jsou nejspı´sˇ fa´ma – eskala´tory tam prosteˇ byly. „Tak co, do ktery´ch dverˇ´ı ma´me nastoupit, kdyzˇ chcem prˇestupovat na mu˚stku?“, zjisˇt’oval Filip. Nikdo jsme neveˇdeˇli, tak jsme si stoupli neˇkam doprostrˇed a nastoupili do metra. Mı´sˇe jsme vypra´veˇli o souteˇzˇi, jak Filip moc nerozumeˇl tomu, co ko´dı´, ale stejneˇ to fungovalo „Tohle vydeˇl V-cˇkem, tohle vyna´sob V-cˇkem, tohle vyna´sob dvojity´m W na druhou.“ Znalci matfyza´cky´ch pranostik uzˇ jisteˇ tusˇ´ı, co se stalo – prˇejeli jsme stanici. To nebylo zrovna prakticke´ poslednı´m metrem... Fajn, jak se ted’ dostanu na Luka odkudsi z centra? Filip opeˇt nasˇel na mobilu spojenı´ – metrem na I. P. Pavlovu, pak tramvajı´ na Motol a autobusem na Luka. Prˇestoupit na tramvaj jesˇteˇ bylo bez proble´mu˚, ale kde na Motole najdu autobusovou zasta´vku? Neˇjakou dobu jsem pobı´hal po okolı´ azˇ jsem uvideˇl autobus vyjı´zˇdeˇjı´cı´ zpoza rohu. Aha´, tam byla ta zasta´vka! Dalsˇ´ı autobus jede za hodinu. A venku je dost zima, asi jak na sˇifrovacˇce. Tady nebudu cˇekat, to bych zmrznul – tak jsem sˇel pu˚l hodiny po tramvajovy´ch kolejı´ch, pak zase zpa´tky. To uzˇ na zasta´vce byli ˇ idicˇ sta´vkuje, nechce prˇijet. Uzˇ je 14 a meˇl prˇijet ve 12.“ Ale nakonec neˇjacı´ lamentujı´cı´ lidi „R prˇeci jen autobus prˇijel, a tak jsem se v pa´tek 2:30 dostal zpa´tky domu˚.
18