ACM Programmierwettbewerb an der FAU

NWERC 2014 in Linköping

Tag 1:

Nach einem ruhigen Flug via Amsterdam (diesmal ohne Gepäckverlust :-D) sind wir um 22:30 in Linköping angekommen. Wie nicht anders zu erwarten, ist es in Mittelschweden im November um 22:30 ziemlich dunkel. Eigentlich sollten uns Studenten der Uni Linköping abholen und uns Bustickets geben. Stattdessen hat uns der Head Judge Tommy selbst angeboten, uns in seinem Privatauto zum Hotel zu fahren. Leider hatte er keinen Platz mehr für 12 Personen... Da außerdem noch mehrere Jury-Mitglieder am Flughafen saßen, hat er nur zwei von uns zum Hotel mitgenommen, und versprochen, dass er zurück kommt und/oder jemanden von der Uni zum Abholen schickt. Während wir auf die Rückkehr warteten, machte uns ein Flughafenangestellter darauf aufmerksam, dass er den Flughafen demnächst schließen müsste. Er willigte ein, dass wir noch auf die Rückkehr von Tommy warten. Dieser tauchte ohne Verstärkung auf und wir beschlossen doch zwei Taxis zu rufen. Gegen halb zwölf erreicht so auch der Rest unserer Reisegruppe das Hotel.

Tag 2:

Nach einer ziemlich kurzen Nacht sind wir (nach einem guten Hotelfrühstück) um 8:45 noch rechtzeitig zur Late Registration gekommen. Team FAUltfinder hat die zwei anderen Teams auf dem Weg zur Uni noch überholt - OSM sei dank. Die folgende Practice Session lief relativ gut, wenn man bedenkt, dass der Admin der Uni nicht da war, sondern nur per E-Mail erreichbar (klar, war ja schließlich Wochenende). Eine der drei mitgebrachten Tastaturen hat nicht funktioniert, aber unser Team ist mit der lokalen schwedischen Tastatur gut zurechtgekommen.

Nach dem Probecontest gab es (akzeptables) Mittagessen, und danach die wählbare Exkursion. Leider war die Dauer der Exkursion mit 2,5 Stunden, von denen noch mindestens 45 Min. für Hin- und Rückfahrt draufgingen, ziemlich knapp. Immerhin war das Luftwaffenmuseum Linköping ziemlich beeindruckend (siehe Fotos).

Die Q&A - Sitzung lief wie erwartet ab -- lediglich dass GDB-Debugging-Makros für die C++-STL nicht laufen werden würden, hat mich überrascht. Danach kam ein Vortrag eines Microsoft-Menschen (wegen Sponsoring...) über die technischen Herausforderungen beim Portieren von MS Office auf "alle wichtigen Plattformen" (natürlich _ohne_ Linux).

Im Anschluss gab es eine kleine Kaffeepause - mit über 300 durstigen Contestants und Coaches. Der einsame Helfer hinter den 4 Kaffeemaschinen an einer Steckdose konnte sich auch nicht erklären, warum kein Kaffee mehr herauskam. Der folgende Vortrag (mit beeindruckender Buzzwortdichte) von der ING-Bank ging über die Umstellung ihrer internen Softwareentwicklung auf agile Methoden.

Das (ebenfalls recht gute) Abendessen fand dann, anders als die Vorträge vorher, aus raumreservierungstechnischen Gründen nicht in der Mensa der Universität statt, sondern im Foyer des nächsten Gebäudes...

Tag 3 (Contest-Tag):

Nach einer etwas längeren Nacht sind wir dann mit einem ausreichenden Frühstück im Bauch in die Uni gewandert, wo dann, mit nur knapp 5 Minuten Verspätung, der NWERC 2014 anfing.

Die Erlanger Teams fanden gut in den Wettkampf und fanden und lösten die einfachste Aufgabe in gut 10 Minuten. Damit waren alle drei Teams auf der ersten Seite des Scoreboards.

Nun wurde es ein wenig holpriger: 1018 in 32 Bit Integer einlesen, "DP beim DP vergessen" und Ausgabe auf stderr statt stdout. Nach 1:15 Stunden im Contest liegt noch ein Team (Rage Maximum Query) mit drei gelösten Aufgaben in den Top 10 mit einer Aufgabe weniger als das derzeit führende Team. Ein weiteres Erlanger Team (FAUltfinder) liegt mit zwei Aufgaben auf den 22. Platz. Aber das vermeintlich beste Erlanger Team (Old Fafhioned Typefetting) erscheint nicht auf der ersten Seite des Scoreboards.

Innerhalb der nächsten viertel Stunde lösen sie aber zwei Probleme und auch Rage Maximum Query löst ihre vierte Aufgabe. Damit sieht das Scoreboard nach 1:30 Stunden aus Erlanger Sicht sehr erfreulich aus: Zwei Teams mit gleicher Aufgabenzahl wie das führende Team auf Platz 5 und 6, direkt hinter den hochgehandelten Schweden (Omogen Heap), von denen man zu diesen Zeitpunkt schon eine klare Führung erwarten konnte. Auch das dritte Erlanger Team erscheint mit dem 24. Platz auf der ersten Seite des Scoreboards, was bei 96 antretenden Teams das erste Viertel bedeutet.

Scoreboard nach 1:30h

Nach weiteren 40 Minuten wird klar wieso Omogen Heap als Favorit gehandelt wurde. Sie haben vier weitere Aufgaben gelöst und liegen nun mit zwei Aufgaben in Führung. Die zwei besten Erlanger Teams lösen in derselben Zeit nur jeweils eine weitere Aufgabe und liegen auf den 9. und 12. Platz.

Scoreboard nach 2:10h

Bis zum Freeze des Scoreboards (nach vier Stunden) schafft es Old Fafhioned Typefetting auf die acht Aufgaben aufzuholen. Omogen Heap hat in der Zeit keine weitere Aufgabe gelöst, aber führt in den Strafminuten deutlich. Das Erlanger Team hat die schlechteste Zeit für acht Aufgaben und liegt damit auf den fünften Platz. Aber es hat mit der Aufgabe G eine Aufgabe als erster gelöst und bis zum Freeze hat es nur ein weiteres Team geschafft, diese Aufgabe zu lösen.

Im Freeze sehen die Trainer nur noch, dass zu einer Aufgabe abgegeben wurde aber nicht mit welchem Ergebnis. Das lässt viel Raum für Spekulationen. Old Fafhioned Typefetting gibt nach 10 Minuten die Aufgabe I ab. Es tut sich eine Viertelstunde nichts. Die Aufgabe ist also entweder gelöst, oder der Fehler ist nicht einfach zu finden. Dann gibt es eine weitere Submission. Die vorherige war wohl nicht richtig. Bis zum Ende des Contest werden es insgesamt 5 Abgaben, die Letzte 9 Minuten vor dem Ende. Die Aufgabe kann kaum richtig gelöst sein, das Muster sieht eher nach verzweifelten Versuchen aus. Auch die anderen Erlanger Teams geben im Freeze noch fleißig ab. Jeweils mehrere Submissions für eine bzw. drei Aufgaben.

Scoreboard nach Contestende

Nachdem der Contest vorbei ist, befragen wir die Teams: Jedes Team hat noch eine Aufgabe gelöst. Damit ist mit einem Team mit 9 und zwei Teams mit je 6 gelösten Aufgaben ein gutes Gesamtabschneiden sicher. Aber reicht es auch für die Qualifikation zu den World Finals? Dazu wurde vor dem Contest angekündigt, dass ein dritter Platz reichen würde. Je nachdem, welche Abgaben der anderen Teams richtig sein würde, war jeder Platz vom ersten bis fünften möglich.

Die Lösungen der Aufgaben wird vorgestellt. Dabei stellt sich heraus, dass das Bearbeiten der Aufgabe A keine gute Idee gewesen wäre. Aber auch, dass Old Fafhioned Typefetting für die Aufgabe B die richtige Idee hatten. Sie hatten es aber vorgezogen, in den letzten neun Minuten Kaffee zu trinken statt einen Versuch zu starten, den skizzierten Code auch zu implementieren.

Nun wurden für die Siegerehrung die Ergebnisse der Abgaben im Freeze aufgelöst. Beginnend mit den Teams mit den wenigsten Aufgaben. Es gab wie im ganzen Contest im Freeze viele Fehlsubmissions, wenn das auch für die Top Team gelten würde, wären wir qualifiziert. Zunächst stehen aber die Plätze der weiter hinten platzierten Teams fest. FAUltfinder wird 24. Damit liegt das dritte Erlanger Team (bestehend aus drei Neulingen!) im ersten Viertel der Rangliste. Eine super Leistung! Rage Maximum Query belegt mit der gleichen Anzahl von Aufgaben den 17. Platz. Für die fehlerhaften Abgaben von den Aufgaben F und I hätte es nur kleine Änderungen gebraucht, um korrekt zu sein. Zwei weitere Aufgaben hätten einen Medaillenplatz bedeutet (Top 12). Trotzdem trägt auch diese Platzierung zu einem hervorragenden Gesamtergebnis bei.

Gerade bei der Aufgabe I gibt es auch bei den Top Teams viele falsche Abgaben. Das ist eine der Aufgaben, die viele der Teams, die um einen Qualifikationsplatz kämpfen, im Freeze abgegeben haben. Nach der Auflösung des sechsten Platzes ist klar, dass wir den dritten Platz sicher haben. Nun geht es um den Sieg! Kurz darauf werden die Abgaben der dänische Team Lambdabamserne aufgelöst. Sie haben bereits acht Aufgaben gelöst und in den letzten fünf Minuten noch für die G abgegeben. War ihre letzte von drei Abgaben eine Verzweiflungstat, oder hatten sie es geschafft, sie als drittes Team zu lösen? Die Abgabe ist tatsächlich richtig. Damit übernehmen sie die Führung im Scoreboard. Es stellt sich nur noch die Frage, ob sie oder das schwedische Team gewinnen. Die Schweden traten mit einen Team aus drei Erst-Semestern an, die aber schon als Schülerteam unsere Erlanger Teams regelmäßig inoffiziell schlagen konnten und auch bei einem gemeinsamen Trainingslager in Möja zeigten, dass sie unseren Teilnehmern meistens überlegen waren. Sie zu schlagen wäre nochmal ein schöner extra Erfolg. Noch waren wir vorne, aber die Schweden hatten sowohl zur Aufgabe A und B ausstehende Abgaben. Die sechs Abgaben zur A stellen sich als falsch heraus. Damit bleibt die Aufgabe als einzige komplett ungelöst. Nun bleibt die Frage, ob in den letzten vier Abgaben der B in den letzten zehn Minuten noch eine richtige Abgabe ist. Aber auch hier erscheint ein rote Markierung, die falsche Abgaben anzeigt. Old Fafhioned Typefetting landet damit auf dem zweiten Platz und ist zu den World Finals (in Marokko) qualifiziert. Herzlichen Glückwunsch! Als Preis erhalten sie eine Urkunde und einen Glasapfel (für die Sieger gab es Glasvasen). Medaillen zu bestellen hatte der Veranstalter leider vergessen. Aber Hauptsache Marokko!

Scoreboard nach Contestende, aufgelöst

Aber auch das Gesamtergebnis war hervorragend. Selbst das dritte Erlanger Team konnte viele erste Teams von anderen Universitäten schlagen. Wenn man nur die deutschen Teams betrachtet, sind wir auf dem ersten, vierten und siebten Platz.

Tag 4:

Am letzten Tag unseres Aufenthaltes hatten wir endlich etwas mehr Freizeit, die wir dazu nutzten, das Linköpinger Freilandmuseum zu besuchen. Die Altstadt von Linköping ist Anfang des 18. Jahrhunderts durch einen Großbrand fast vollständig vernichtet worden; die übriggebliebenen alten Gebäude wurden in eben diesem Freilandmuseum zusammengetragen. Nach einer Besichtigung des Doms von Linköping und einer kleinen Wanderung zum Flughafen sind wir auch schon wieder heimgeflogen.

Erlanger Teams

Photo

Das Team Old Fafhioned Typefetting v.l.n.r.: Hans Spat(Trainer) Tobias Polzer, Miriam Polzer und Paul Wild. Erkämpte sich Platz 2, holte damit eine Goldmedaille und qualifiziert sich für die World Finals in Marokko.

Photo

Das Team Rage maximum query v.l.n.r: Julian Brost, Dominik Paulus und Jonathan Krebs. Erreichte Platz 17.

Photo

Das Team FAUltfinder v.l.n.r.: Nicolas Karpstein, Michael Sammler und Michael Eischer. Landete auf Platz 24.

Damit hat Erlangen eine Medaille und Qualifikation zu den World Finals erreicht und alle Teams konnten sich im oberen Viertel platzieren.

Photo

Die ganze Gruppe: v.l.n.r.: Jakob Krainz (Trainer), Hans Spat (Trainer), Daniel Brinkers (Trainer), Dominik Paulus, Tobias Polzer, Miriam Polzer, Michael Eischer, Paul Wild, Michael Sammler, Nicolas Karpstein, Jonathan Krebs und Julian Brost.
Ein besonderer Dank gilt unseren Sponsoren:
Accenture qaware
Senacor msg systems

Bilder

Please enable JavaScript to view the pictures.