Reseskildring IOI 2007

Onsdag, 15 augusti

Klockan 9:45 var det samling på Arlanda för årets IOI-resenärer, fyra tävlande (Magnus, Simon, Per och IOI-veteranen Chen) och tre ledare (Håkan, Fredrik och undertecknad). Bara en gång tidigare har tre ledare varit med på resan (2003), och det året blev det bästa någonsin för svensk del med två guld och två silver. Skulle det kunna återupprepas? Nu var det dock nära att Fredrik inte komma med pga schemakrock, men det ordnade sig i sista minuten (nästan bokstavligen).

Resan gick med flyg via München där några andra IOI-lag anslöt sig. Väl framme i Zagreb visade det sig att Håkans resväska försvunnit någonstans på vägen. Inte den start på resan man önskar sig direkt. Flygplatspersonalen försäkrade oss dock om att väskan var lokaliserad och skulle komma fram inom kort, troligtvis under kvällen (den kom fram ett dygn senare...).

Vädret i Zagreb var strålande, över 30 grader varmt och strålande sol. Den höga luftfuktigheten tärde dock på krafterna, och de första dagarna försökte de flesta hålla sig i skuggan. En chartrad buss gick från flygplatsen till studentbostadsområdet Stjepan Radic som låg strax utanför centrum. Väl där mötte vi vår guide under veckan, Petra, som till vår stora förvåning kunde tala hygglig svenska! Tydligen kan man studera svenska i Zagreb, även om vi hade lite svårt att förstå syftet med det.

Studentområdet, som normalt inhyser ca 3000 studenter, bestod av 10 hus med studentlägenheter som låg i en cirkel runt en huvudbyggnad där matsal, affär etc fanns. Ett av studenthusen var avsett för de tävlande och det andra för ledare och gäster. Tvåbäddsrummen som vi bodde i var mycket spartanskt inredda och var tämligen slitna. Badrummet delades av två angränsande rum, vars låsanordningen bestod av en planka som fälldes ner för att blockera dörrarna till båda rummen! Positivt dock att alla rum hade bredbandsuppkoppling.

Innan vi kunde äta middag var vi tvungna att registrera oss och kvittera ut våra identitetsbrickor. Här uppstod lite problem eftersom vi inte kunde betala med kontokort (vilket man kunnat tidigare år), utan var tvungen att betala de erfoderliga 850 Eurosen i kontanter. Det gick därför t ex inte att använda bankomaten utanför eftersom den bara spottade ur sig den lokala valutan Kuna, och det interna postkontoret kunde bara växla från Euro, inte till Euro... Vi fann det mycket märkligt att den lokala valutan inte dög som betalningsmedel. Registreringen gick ändå vägen, och vi fick någon dag på oss att skaka fram pengarna.

Efter att ha väntat minst en halvtimme i middagskön blev vi positivt överraskade av maten som var ovanligt bra för den här typen av tillställningar. Det fanns många olika färdigupplagda rätter att välja mellan, vilket kändes bra eftersom vi skulle äta i samma matsal hela veckan (och maten brukar inte variera speciellt mycket mellan dagarna). Kvällen avslutades för min del med vila på rummet, medan studenterna tog en tur in till stan.

Torsdag, 16 augusti

Efter frukosten var det avresa till tävlingslokalen, en stor mässhall mitt i Zagreb. Förutom tävlingen och dagens practice session skulle öppnings- och avslutningsceremonin hållas här. Endast två (!!) bussar var bokade för transporten, vilket gjorde att bussarna var tvungna att köra två knökfulla vändor för att transportera alla som skulle dit. En vända tog 10 min enkel riktning, vilket gjorde att de som tog första bussen fick vänta över 20 minuter på plats. Detta var den första logistiska tabben av arrangörern och, skulle det visa sig, långt ifrån den sista.

Tävlingslokalen var mycket bra - en gigantisk hall fylld med datorer, kan det bli bättre? Det enda negativa var att det snart började bli lite varmt, och det fanns ont om vatten att tillgå. På vissa ställen i lokalen kunde man också störas av ljuden från de enorma servrarna som stod utplacerade med jämna mellanrum.

De tävlandes datorer var utplacerade i grupper om fyra enligt ett koordinatsystem. Till exempel betydde plats F3W den sjätte kolumnen, tredje raden, riktning väster. Eftersom det idag var "träning" var de tävlande utplacerade så att alla i samma lag satt vid samma datorgrupp.

Syftet med practice session är att bekanta sig med datorerna och tävlingsmiljön. En del i laget var heller inte förberedda på problematiken som kan uppstå om man försöker köra med svensk tangentbordslayout på amerikanska tangentbord. Man får då nämligen klara sig utan den rätt så viktiga "mindre än" knappen (den till vänster om 'z')... tanken på att använda makron eller liknande för att få fram <, > och | var inte helt lockande, så det blev att omskola sig till amerikansk tangentbordslayout. Chen hade varit bättre förberedd och tagit med sig ett eget, svenskt tangentbord. Eller han hade egentligen varit ännu smartare och övertalat undertecknad att ta med sig ett tangentbord åt honom...

Det fanns tre uppgifter att jobba med under den två timmar långa träningssessionen. Uppgifterna, som redan publicerats på tävlingens hemsida några veckor tidigare, var relativt lätta med internationella tävlingsmått mätt, men ändå i paritet med de svårare uppgifterna i en svensk PO-final. Eftersom huvudsyftet med practice session inte är att lösa dessa tre uppgifter tänker jag inte orda mer om dem här.

Direkt efter practice session var det dags för den officiella öppningsceremonin som hölls i en angränsande lokal. Det blev en utdragen historia med många, långa, tråkiga tal av viktiga personer. Det är förståeligt att folk som varit inblandade i evenemanget och sponsorer vill säga något, men kan de inte göra det på ett roligt och fyndigt sätt? Allt för oftast på sådana här tillställningar maler de istället bara på. Urtråkigt. För att göra det hela lite mera uthärdligt varvades talen med folkmusik och dans utförda av en professionel kroatisk grupp. Sist under invigningen presenterades de drygt 70 lagen genom att vart och reste sig upp och vinkade några sekunder. Några nationer markerade sin närvaro lite extra genom att spela på eller blåsa i diverse inhemska instrument. Fredrik föreslog att vi nästa år skulle ta med oss några nyckelharpor...

Senare på dagen splittrades de som skulle tävla från oss ledare. För studenterna stod en guidad tur i Zagreb på schemat (ledd av vår guide Petra), som bland annat innehöll ett besök i en botanisk trädgård.

För ledarna var det dags att börja arbeta. Uppgifterna i tävlingen arbetas fram av arrangörslandet och den tekniska kommittén (ISC) under flera månaders tid, men det är först kvällen innan respektive tävlingsdag som uppgifterna spikas. Det går till så att ledarna för deltagarländerna får tre uppgifter utdelade (dock inte lösningarna). Vi har sedan 45 minuterna på oss att granska uppgifterna och bedömma om de är lämpliga. Om en uppgift av någon anledning inte duger så finns det reservuppgifter att tillgå. I praktiken så har det de senaste åren aldrig hänt att en föreslagen uppgift inte använts. Detta kan till stor del tillskrivas införandet av den tekniska kommittén, som nästan enbart består av fd IOI:are - de vet vad som krävs för att skapa bra uppgifter av hög kvalité.

Årets IOI var inget undantaget, och första dagens uppgifterna klubbades igenom utan en enda protest. Därefter var det dags för middag för oss ledare. Vid det här laget är det viktigt att arrangörerna ser till så att ledare och tävlande inte kan prata med varandra. I dagens samhälle är det förstås i praktiken omöjligt pga mobiltelefoner och liknande, men man brukar ändå se till att undvika möjligheten till "fysisk kontakt". Här hade dock arrangörerna klantat sig fick vi reda på dagen efter. Dessutom blev middagen försenad en bra stund då två mexikanska tävlande inte var inräknade, och hela det mexikanska laget hotades med diskning! Efter att ha väntat i 30-40 minuter upptäckte arrangörerna att de tävlande faktiskt var på sitt rum; de hade bara inte hämtat ut sin nyckel utan gått in till sitt rum från det angränsande rummet via toaletten...

Under denna väntan blev vi bryskt påminda om att vi inte betalat registreringsavgiften än. Efter allehanda diskussioner med olika personer i arrangörsstaben (som gav oss helt olika uppgifter) fick vi till slut tala med überbossen Ivo, som mycket irriterad informerade oss att det var fullständigt oacceptabelt att betala med Kuna, vare sig direkt eller via banköverföring... vi fick istället morgondagens förmiddag på oss att försöka fixa fram registreringsavgiften i Euro.

Efter middagen var det så slutligen dags för oss att översätta uppgifterna från engelska till svenska. Jag och Fredrik tog oss an den uppgiften, och tävlingsmänniskor som vi är arbetade vi snabbt och metodiskt och lyckades vinna den extremt inofficiella översättningstävlingen (på tid) bland de länder som gjorde en fullständig översättning.

Fredag, 17 augusti

På morgonen tog jag och Fredrik tog spårvagnen för att uppsöka en bank där man kunde ta ut Euro. Efter att ha frågat om vägen ett antal gånger på tyska (!) lyckades vi till slut med vårt uppdrag och kunde betala registreringsavgiften.

Medan de tävlande kämpade med första dagens uppgifter var det konferens för oss ledare (en ny företelse i IOI-sammanhang). Temat för konferensen var de nationella uttagningstävlingarna. För många länder (inklusive Sverige) är att deltagarantalet i de nationella tävlingarna är sviktande. Tanken var att utbyta erfarenheter för att gemensamt kunna bryta denna trend. Mest imponerad blev jag (och nog de flesta andra) av Polens presentation. De senaste 10 åren har Polens gått från att vara en rätt anonym nation i dessa sammanhang till att vara en av de ledande, med stora framgångar i många olika programmeringstävlingar (bland annat vann en polack IOI förra året). Huruvida vi kan kopiera Polens framgångskoncept återstår att se...

Den lättaste uppgiften första dagen var Aliens, en interaktiv uppgift där ens program skulle kommunicera med ett annat program. Tyvärr lyckades ingen i truppen få fullt på uppgiften. Chen hade en typo i sin binärsökning som gjorde att den i praktiken blev linjär, vilket kostade honom 60 poäng. Simon, som blev bästa svensk på uppgiften, missade att binärsökningen kunde overflow:a om man bara använda int, vilket kostade 20 poäng. Magnus och Per gjorde en felprioritering av uppgifterna och nöjde sig med att göra den "lätta" lösningen vilket gav 40p (samma som Chen). De andra två uppgifterna, Flood och Sails, såg kanske lättare ut än vad de var. Chen skrapade ihop ungefär 50p på vardera uppgift, medan de övriga endast fick ströpoäng på dessa. Resultaten efter första dagen var således inte alltför uppmuntrande, och alla kände att de kunde ha gjort bättre ifrån sig.

Senare på dagen prövade jag och Fredrik lyckan vid pingisbordet. Ingen av oss har spelat pingis på många år, och ringrostigheten gjorde sig snabbt påmind. För mig gick det inget vidare, men Fredrik lyckades vinna sin fyrmannagrupp innan han fick stryk av min baneman. Kul var det i alla fall.

Av tradition hålls poängen efter första tävlingsdagen hemlig, men många lag väljer ändå att tala om sina deltagares poäng. I och med internet sprids denna information blixtsnabbt, och vi kunde under kvällen konstatera att minst fem personer hade full poäng (300) efter första dagen, därav (föga oväntat) två polacker och två kineser.

Lördag, 18 augusti

På schemat för "mellandagen" stod en utflykt till en sjö. Medan vi väntade på bussen bestämde sig jag, Fredrik och Håkan för att hoppa över utflykten och istället besöka Zagreb (vi hade ännu inte varit inne i själva staden). Vi tog spårvagnen in till huvudtorget och gjorde en liten rundvandring i den gamla delen av Zagreb. Detta var första gången jag var i en större stad i östeuropa, och intrycket var väl inte direkt positivt. Som så många fd kommuniststater är Zagreb rätt grått och tråkigt, och gamla staden går inte direkt att jämföra med Gamla stan i Stockholm. Framförallt stank stora delar av gamla staden. En annan detalj som slog mig var antalet kyrkor. Tydligen är andelen troende i Kroatien rätt hög, och vi såg många människor som satt och bad.

Rundvandringen slutade med ett besök på en uteservering där varsin bananasplit intogs (mums!) medan vi satt och spånade på hur vi skulle utveckla den svenska programmeringsolympiaden.

På väg tillbaka till studentområdet stötte vi på den Svenska ambasaden. Vi kunde tyvärr inte hälsa på eftersom de hade lördagsstängt.

På kvällen var det dags för oss att besluta om andra dagens uppgifter och översätta dessa. Logistiken fungerade bättre denna gång, och inga incidenter inträffade. De tre utvalda uppgifterna klubbades återigen igenom utan protest. Mer om dessa nedan.

Söndag, 19 augusti

Den andra tävlingsdagen innebar för oss ledare en välbehövlig sovmorgon. IOI-konferensen fortsatte med ytterligare presentationer. Själv valde jag att stå över dessa, och endast Fredrik var närvarande från svenskt håll. Bland annat diskuterades hur man skulle kunna ha andra typer av uppgifter i framtida IOI-tävlingar. En delegation förslog att uppgifter av grafisk karraktär skulle kunna stimulera fler studenter att delta i dessa tävlingar.

Generellt brukar andra dagens uppgifter vara svårare och avsedda för att separera de i toppen. Så var även fallet i år. Den första uppgiften, Miners, var förvisso kanske den lättaste av alla uppgifter i tävlingen (den var en rätt typisk DP-uppgift), men den kompenserades av två svåra uppgifter, Pairs och Training.

Alla IOI uppgifter är numera konstrurade så att en viss delpoäng (ca 30-40p) kan nås med en suboptimal lösning. Utöver de vanliga indatabegränsningarna så brukar en uppgift specifiera exakt hur många poäng som kommer delas ut om uppgiften klarar en lättare version av problemet. "Lättare" ska dock ses relativt till den ursprungligen uppgiften; på dagens svåraste uppgift, Training, var det inte många som ens inhåvade de "lätta" poängen (de allra flesta fick 0p på den).

Både Chen och Magnus fick full pott på Miners, medan Per och Simon fick de "lätta" poängen på den uppgiften. Även på Pairs hade Chen och Magnus likvärdiga lösningar och de fick 50p var för detta. Det skulle visa sig att denna poängkombination (100 + 50) var väldigt vanlig, så de flesta deltagare fick faktiskt fler poäng andra dagen även om de i toppen fick mindre, då Training var väldigt svår.

Efter tävlandet var det idrottsaktiviteter igen. Fredrik försökte få med mig att lira fotboll, men jag var trött och tog det lugnt. Istället försvarade de tävlande de svenska färgerna med att besegra det norska laget i volleyboll.

På kvällen var det VIP-middag för ledarna. Vi åkte buss i nästan en timme innan vi kom fram till en schysst restaurang med massor av god mat. Återigen var logistiken under all kritik då en enormt lång och långsam kö bildades, och det tog en bra bit över en timme innan alla hade fått mat. Men gott var det!

För de tävlande var det annordnat något slags party, men svenskarna tyckte den var mesig och satt och snackade med de andra skandinaviska lagen istället. Senare på kvällen drog Magnus och Simon ut på stan med några tävlande från Kyrgyzstan. Eftersom det var söndag kväll var det dock rätt folktomt, men drinkar och öl var åtminstone väldigt billigt.

Måndag, 20 augusti

Dagen efter andra tävlingsdagen innebär ofta heldagsutflykt. Så var fallet även i år, och utflyktmålet var Plitvicesjöarnas nationalpark, som finns med på UNESCOS lista över världsarv. Nationalparken ligger 14 mil från Zagreb, så bussresan dit tog närmare 2 timmar. Håkan bestämde sig redan kvällen innan för att avstå resan, och på avresedagen hoppade även Simon av (det blev tydligen rätt sent kvällen innan).

Denna dag kommer också gå till IOI-historien som den logistiskt sätt mest misslyckade. Enligt det ursprungliga schemat skulle de tävlande åka med första busslasten som skulle avgå redan 05.30 (!) på morgonen. Med tanke på att det kvällen innan var party var det kanske inte helt lyckat... Dagen innan hade detta schema dock ändrats på så vis att hälften av delegationerna skulle åka med första bussen 06.30 och den andra hälften 08.30. Hemkomsten var dock planerat till 18.00 för alla, vilket verkade lite mysko.

Med vår vanlig (o)tur blev vi "inlottade" på den första bussen, så det blev till att kliva upp i ottan. Vi fick själva säga till mattanterna i matsalen att öppna, då de först tänkt öppna 07.00 - den interna kommunikationen i arrangörsstaben verkar ha varit obefintlig. 45 minuter sena kom vi så iväg. Det var bra bussar och bra vägar, så många tog igen en del av den förlorade nattsömnen i bussen.

Det var dock värt den dryga resan, för nationalparken var otroligt vacker, vilket bilderna nedan kanske vittnar om (även om de egentligen inte gör parken full rättvisa). Nationalparken var till stor del en dalgång fylld med vatten och växtlighet, där man kunde gå på konstgjorda gångvägar. Överallt var det kristallklart, turkosfärgat vatten (med massor av fiskar) och vattenfall fanns lite varstans.

Klockan var över tre innan det var dags för lunch, som skulle intas på en restaurang en bit därifrån. Trodde vi åtminstone. Tidigare under dagen hade vi fått välja vilken lunch vi ville ha, och nu visade det sig att det valet styrde vilken restaurang man skulle till! Vi tyckte det var tråkigt att splittra upp oss, så vi ändrade raskt våra tidigare val till ett gemensamt. Lunchen var annars riktigt bra (som all mat under hela vistelsen).

Efter lunchen började så hemresan. Trodde vi, återigen. Efter att bussen kört i ca en timme stannade den mitt ute i ingenstans. Efter en liten stunds förvirring insåg vi att vi totalt glömt bort dagens andra utlyktsmål - Nikola Teslas memorial center. Det visade sig vara Teslas födelsehem, som nu var något slags museum. Huset var inte speciellt stort, och eftersom vi var sex busslaster som anlände samtidigt blev det hela rätt komiskt. En enorm kö bildades, och vi gick som en larv genom bottenvåningen på huset, som endast innehöll massa information på skyltar om Tesla framsteg under livet (sånt man lätt kunnat läsa om på nätet). På övervåningen, dit vi fick gå upp i grupper om ca 25 personer, var det mer spännande. Här kunde man återuppleva några av de experiment som Tesla genomförde. Det fanns bara ett problem - personalen på stället hade stängt av samtliga experiment eftersom vi var så många!!

Mycket besvikna på stället (vad var poängen med att vi stannade här egentligen?) gick vi och satte oss i bussen i väntan på avfärd. Vi tröstade oss med att vi åtminstone borde vara ungefär halvvägs tillbaka. Återigen en grov felberäkningen. Efter att bussen kört en halvtimme ser vi en skylt "Zagreb 17 mil"...! Vi hade alltså åkt 6-7 mil från nationalparken i rakt motsatt riktning till ett menlöst ställe vars enda behållning varit helt avstängd, något som arrangörerna rimligen borde ha vetat om i förväg. Nu väntande en nästan 3h låång bussresa innan vi kom hem, endast 3,5h senare än planerat. Märkligt nog visade det sig att vi hade poliseskort hela hemvägen; en polisbil med blinkande sirener anledde busskonvojen alla milen till Zagreb. Längs en motorväg helt utan trafik. Väl inne i Zagreb sparade vi kanske 5 minuter på detta, men det känns som att arrangörerna kunde ha prioriterat sina ansträngningar lite annorlunda...

Tisdag, 21 augusti

Under avslutningsdagen hände inte mycket. Det kändes mest som en lång väntan på prisutdelningen. Själv höll jag mig mest på rummet, medan laget var på en egen liten utflykt i Zagreb.

Avslutningsceremonierna brukar alltid vara spännande tillställningar då resultaten från tävlingen hålls hemliga från officiellt håll. Men eftersom varje land vet sina egna resultat sprids många resultat på nätet, vilket gör att man kan få en ganska hyfsad uppfattning om hur man ligger till. Vi trodde att Chens resultat skulle räcka till silver och Magnus till brons, men i båda fallen förstod vi att det var på gränsen.

Våra gissningar visade sig stämma, då medaljgränserna var aningen lägre än vad vi trodde. Det visade sig vara rätt långt till guld för Chen, så han behövde inte gräma sig så mycket för missen på Aliens-uppgiften.

Totalsegrare blev en av förhandsfavoriterna, Tomasz Kulczynski från Polen, som tog imponerande 574 poäng av 600 (full poäng på 5 av uppgifterna). Förra året vann han bland annat BOI i överlägsen stil. Även tvåan (en kines) tog full poäng på 5 uppgifter, och då alla uppgifter spikades av minst några stycken kan man konstatera att svårighetsnivån på uppgifterna i år var väldigt bra. Resultatlista.

Efter ett tradionellt lagfoto avslutades kvällen med en ordentligt buffé och, för min del, en tidig kvällning.

Onsdag, 22 augusti

Det var tidig uppstigning som gällde, då bussen till flyget gick redan klockan 6 på morgonen. Första delresan till Zürich gick i ett litet propellerplan som var allt annat än tyst. På Zürich flygplats fick vi vänta 6h på nästa resa. Under den tiden avhandlades allt från kluriga logiska problem och programmeringstävlingar till historia och politik.

Jimmy Mårdell