Univerzitetni programerski maraton
V soboto, 10. 10. 2015, je v Mariboru potekalo finalno kolo Univerzitetnega programerskega maratona 2015. Gostila ga je Univerza v Mariboru, tekmovanje pa se je odvilo v prostorih Fakultete za elektrotehniko, računalništvo in informatiko. Že po 3. kolu je bilo jasno, da bo finale zanimiv, saj so bile po tretjem kolu vodilne ekipe zelo tesno skupaj. Na koncu sta ekipi, ki sta bili vodilni že po 3. kolu, obdržali svoji mesti, ekipi The A team pa je uspelo narediti preboj v vrh. Neuradne rezultate si lahko ogledate tukaj.
Najboljše tri ekipe v skupnem seštevku so:
Prvaki posameznih univerz so:
Na kratko si poglejmo potek letošnjega finalnega kola. Zaradi zamude avtobusa iz Ljubljane in manjših tehničnih težav se je tekmovanje pričelo z enourno zamudo, za tem pa je vse gladko steklo. Prva rešitev je na sodniški sistem prispela že 11 minut po začetku – ekipa Final solution je oddala rešitev naloge Begunci (v jeziku C). Rešitev je bila seveda pravilna. Minuto kasneje sta rešitev iste naloge oddali še ekipi March of the Poozers (v C++) in Pitoni++ (v Pythonu) – rešitvi žal nista bili pravilni. Ekipi Pitoni++ je uspelo rešitev popraviti v manj kot 1 minuti. Po drugi oddaji se je izkazalo, da je popravljena rešitev pravilna. Naslednja oddaja je prišla s strani ekipe Programatorji. Oddali so rešitev naloge Robin Hood (v C++), ki je se izkazala za pravilno. Ostale ekipe so kmalu ugotovile, da je naloga Begunci ena od lažjih, saj je 17 minut po začetku tekmovanja pravilno rešitev oddala še ekipa The A team (v C++). Oddaje so se nato kar usule. Prvi z dvema rešenima nalogama so bili Pitoni++, ki so manj kot 30 minut po začetku oddali pravilno rešitev naloge Robin Hood (v C++). Le nekaj sekund za njimi je nalogo Robin Hood pravilno rešila tudi ekipa Final solution. Ker so imeli Pitoni++ že nekaj kazenskih minut zaradi napačne oddaje, se je ekipa Final solution zavihtela na prvo mesto. Prva ekipa s tremi rešenimi nalogami so bili Pitoni++, ki so manj kot uro po začetku tekmovanja oddali rešitev naloge Oglasna deska (v C++). Njihova prva oddana rešitev ni bila pravilna in so jo morali popraviti. Kmalu za njimi je rešitev naloge Oglasna deska oddala še ekipa The A team (v C++). S tem so prehiteli Pitone++, saj so ti imeli kazenske minute zaradi napačnih oddaj. Večina ekip se je ubadala z omenjenimi tremi nalogami, Pitoni++ pa so že pisali rešitev naloge Razrez. Oddali so jo 2 uri po začetku tekmovanja (v C++) – njihova rešitev je bila seveda sprejeta. Programatorji so imeli v tem trenutku le dve sprejeti nalogi. Reševali so nalogo Oglasna deska, ki jim je povzročala preglavice. Obupali so nad nalogo Oglasna deska in se raje lotili naloge Razrez, ki so jo pravilno rešili 20 minut kasneje kot Pitoni++. Po tem so se Programatorji prebudili in 3 ure po začetku tekmovanja prvi oddali rešitev naloge Smučanje (v C++), ki je bila pravilna. Nato so popravili še rešitev naloge Oglasna deska in s tem prevzeli vodstvo. Ob 15:11 so Programatorji oddali prvo pravilno rešitev naloge Trikotnik (v C++) in s tem še bolj utrdili svoje vodstvo. To je ujezilo Pitone++, ki so ob 15:32 oddali pravilno rešitev naloge Escape (v C++) in zmanjšali zaostanek za Programatorji. V spopad za najboljša mesta se je vključila tudi ekipa The A team, ki je ob 15:24 oddala pravilno rešitev naloge Razred (v C++), ob 15:48 pa še pravilno rešitev naloge Trikotnik (v Pythonu). Ampak vodstvo Programatorjev je bilo že preveliko in uspelo jim je ubraniti naslov Prvaka UPM, ki so si ga izborili lansko leto. Zadnja uspešna oddaja, ki jo je zabeležil sodniški sistem, je prišla ob 15:55 od ekipe ... has stopped responding. Rešili so nalogo Oglasna deska (v C++).
Na letošnjem finalu dveh nalog od skupaj 9 v času tekmovanja ni uspelo rešiti nobeni ekipi. To sta bili nalogi Enaki nizi in Izguba časa. Nalogo Smučanje je pravilno rešila le ekipa Programatorji, ki si zasluži pohvalo. Pohvalo si zasluži tudi ekipa Pitoni++, ki je edina pravilno rešila nalogo Escape. Tudi naloga Trikotnik se je izkazala za trd oreh, saj sta jo uspešno rešili le dve ekipi: Programatorji in The A team. Najbolj vztrajna ekipa (ki je imela pri eni od nalog največ nepravilnih oddaj, preden jim je uspelo oddati pravilno rešitev naloge) je bila letos ekipa WeDidntMeantIt, ki jim je pravilno rešitev naloge Oglasna deska uspelo oddati v 23. poskusu. Posebno pohvalo si zasluži še srednješolska ekipa Final solution, ki se je v študentski konkurenci v skupnem seštevku uvrstila na zavidljivo 4. mesto. Njeni člani prihajajo z Gimnazije Bežigrad in z Vegove v Ljubljani.
Namenimo en odstavek za statistiko: Skupno so tekmovalci oddali na sodniški sistem 237 rešitev, od tega 61 OK (sprejetih), 65 WA (napačen odgovor), 76 TLE (prekoračen čas), 34 RTE (program se sesuje) in 1 PE (napaka v predstavitvi). Skupno količina oddane programske kode je znašala 332 kB. Poglejmo si še skupno število oddaj po posameznih programskih jezikih (v oklepajih je število sprejetih oddaj v tem jeziku):
Jezik Pascal je že 2 leti mrtev, jezik C# pa se je vrnil na sceno, saj sta ga letos uporabljali dve ekipi. Python 2 pa je spet postal malo bolj popularen kot Python 3. Najbrž je temu botrovalo tudi dejstvo, da interpreter za Python 3 zaradi tehničnih težav ni bil prisoten na tekmovalnem sistemu. Kljub temu je bilo nekaj uspešnih oddaj v Pythonu 3. Prvaki UPM prisegajo na C++, drugo in tretje uvrščeni ekipi pa sta uporabljali dva jezika: C++ in Python 3.
Prosojnice z rešitvami nalog, ki jih je po tekmovanju predstavil Tomaž Hočevar, so dostopne tukaj. Posnetek predstavitve nalog in rešitev bo v kratkem objavljen tukaj.
Na slavnostnem zaključku sta nas s svojim obiskom počastila prof. dr. Borut Žalik (dekan Fakultete za elektrotehniko, računalništvo in informatiko) in prof. dr. Matjaž Gams (predsednik ACM Slovenija). Nekaj modrih misli sta izrekla še asist. dr. Gregor Jerše (vodja tekmovanja UPM) in prof. dr. Andrej Brodnik (predsednik komisije za tekmovanja pri ACM Slovenija), študente pa je nagovoril tudi Luka Šilovinac iz podjetja Zemanta.
Vsem udeležence iskrene čestitke! Organizatorji upamo, da vam je bilo tekmovanje v veselje in da se prihodnje leto ponovno vidimo. Posebna zahvala gre tudi našim sponzorjem!
Kot vedno smo tudi tokrat tekmovalce ujeli v fotografski objektiv. Galerijo slik si lahko ogledate pod novico.