EJOI 2021 Erlebnisse

Die Teilnehmer berichten von ihren Erlebnissen an der EJOI in Disentis

Timon Stampfli
News

EJOI Blogpost

Day 1 - 21.8.2021 - Elias

Wir (Timon Stampfli, Elias und Johannes) sind ungefähr um 17:00 bei dem Chalet Aurora in Disentis angekommen. Zuerst haben wir uns die vielen Zimmer und die Küchenausstattung angeschaut. (Die Anzahl an Kühlschrankspace war “Stampfli-Approved”) Danach haben wir die Zimmereinteilung gemacht, uns eingerichtet und die Betten bezogen. Um ca. 19:00 sind wir fürs Abendessen ins Dorf gelaufen. Wir haben uns eine Weile herumgeschaut und haben uns dann für ein kleines Restaurant in der Nähe vom Bahnhof, welches sich als sehr lecker herausstellte, entschieden. Nach dem Essen sind wir zurück ins Chalet. Ungefähr um 21:30 ist auch der 2. Timon (Gehr) angekommen. Müde von der Anreise und satt von dem guten Essen, sind wir gegen Mitternacht ins Bett gegangen.

Day 2 - 22.8.2021 - Elias

Als wir aufgestanden sind, war Timon (Stampfli) schon gegangen, um für uns Frühstück zu holen. Wir hatten in der Nacht davor einen sehr nach Informatikern aussehenden Plan ausgefüllt, wo drauf stand was wir wollen, und falls es das nicht hat, was die 2. 3. 4. Auswahl ist. Nach dem Frühstück habe ich (Elias) mit Johannes einige Dynamic Programming Aufgaben gelöst. Am Nachmittag kam dann auch Ferdinand an. Nachdem er sich ebenfalls eingerichtet hatte, haben wir uns daran gemacht, das T-Shirt für die Woche zu designen, da wir vergessen hatten dies zu machen. Wir hatten aber einige Schwierigkeiten eine Maus zu zeichnen (deformed Stofl) und schlussendlich haben wir aufgegeben und haben auf Discord Fabian gefragt, ob er uns retten könnte. Wärend wir das Abendessen gegessen haben, hat und Fabian mit seinem uns überlegenem Künstlertalent, einen schönen Stofl designed. Nach noch mindestens 2 Stunden compositen mit einigen anderen Bildern, sah unser Design dann gut genug aus, um den Johannes-Approval zu bekommen.

T-Shirt Design der EJOI

Day 3 - 23.8.2021 - Ferdinand

Nachdem wir am voherigen Tag bis spät in die Nacht unser T-Shirt designet haben, schliefen wir erst einmal aus. Zum Glück hatte Timon (Stampfli) nochmals seinen wertvollen Schlaf geopfert und stand früh auf, um Frühstück beim Bäcker zu holen. Trotz anfänglicher Besorgnis, dass es nicht genug Laugengipfeli habe würde, musste niemand hungern. Anschliessend diskutierten wir, wie man am effektivsten das Programm für die nächsten Tage plant. Schlussendlich eingten wir uns darauf, die möglichen Programmpunkte als Tierkarten zu repräsentieren. Diese Methode stellte sich als erstaulich effektiv heraus. Kurze Zeit später stand fest, dass wir heute Rodeln gehen. Da nun das Programm für die Woche fest stand, konnten wir uns mit der Rückseite unseres T-Shirts beschäftigen. Wir konnten uns recht schnell auf ein Pascalsches Dreieck mit verschieden gefärbten Moduloklassen einigen. Die Entscheidung fiel uns nicht schwer, da wir Combinatorics und das Pascal Dreieck im Onsite Training behandelt hatten. Den Rest des Vormittags verbrachten wir damit, am von Johannes geschriebenen Programm zur Erstellung solcher SVG Bilder zu feilen. Nachdem Ema sich uns bereits am Vormittag anschloss, kamen am Mittag auch noch Pascal und Josia dazu. Lukas kam erst später am Nachmittag an. Nach dem Mittagessen verbesserten Elias und ich (Ferdinand) noch unsere EJOI Shirts und lösten ein paar DP Aufgaben. Irgendwann sahen wir dann ein, dass es sich nicht mehr lohnen würde, eine Stunde zur Rodelbahn zu fahren, zumal diese bald schliessen würde. Stattdessen begnügten wir uns noch mit ein bisschen Minecraft.

Day 4 - 24.8.2021 - Elias und Lukas

Der Morgen begann mit einem exquisiten Frühstück. Als Folge von mässiger Kompetenz meinerseits (Lukas) landeten allerdings grössere Mengen an Müsli auf dem Boden. Gut genährt begab sich die EJOI Delegation (Elias und Ferdinand) mit Johannes auf eine Trottibike-Tour in Andermatt. Auf der Fahrt dorthin, die über eine sehr gute Aussicht verfügte, haben wir uns kurz verfahren. Dennoch haben wir eine sehr spannende Trotti-Abfahrt verbracht, bei der wir auch versucht haben zu driften. Auf dem Rückweg legten wir eine Pause ein auf dem höchstgelegendsten und damit auch dem nutzlosesten Leuchtturm der Welt. Währenddessen versuchte die CEOI Delegation, grösstenteils vergeblich, diverse Programmieraufgaben zu lösen. So versuchte ich (Lukas) über mehrere Stunden einen Fehler in meiner Lösung zu einer Div 2 C Aufgabe zu finden, was mich doch etwas traurig stimmte. Nach kurzer und dennoch erholsamer sowie amüsanter Pause in Form von Videospielkonsum begann für die CEOI Delegation dann ein zwei einhalb stündigen Codeforces-Contest. Dieser lief nach der suboptimalen Leistung des Morgens recht gut, wir alle verbesserten unser Rating. Zudem erhielt ich wunderbare Bragging Rights dadurch, eine Aufgabe gelöst zu haben, welche Johannes nicht löste. Als die EJOI Delegation um kurz nach 4 beim Chalet ankam, erfuhren wir, dass der EJOI Testwettbewerb, bei dem wir dachten, dass er um 5 Uhr anfängt doch schon um 4 Uhr anfing. Das lag daran, dass der Plan in Rumänischer Zeit ist, also eine Stunde später als Schweizer Zeit.

Day 5 - 25.8.2021

Ferdinand

Our day (of the EJOI delegation) already started relatively early. Since we couldn’t test all of the things we wanted to on the previous practice contest, we decided to also do this day’s practice contest (that started at 9:00). This also meant that we had another possiblity to get some more points on the tasks (they were the same as the ones from the previous practice contest).

Josia

“That’s way too early!”, was said the evening before. I suppose it’s true that getting up at 10:00 is just absurd… So we got up at 10:00 and were getting ready to walk to the escape room. There I was locked into a cage and later eaten by a witch because my teammates all sucked. After that we got home and ate some food ourselves.

Then we went to play some tennis at which I actually (because my oppenent sucked) didn’t loose :). It wasn’t that exciting otherwise.

After dinner I came up with the brilliant idea of competitively speedsolving a task. If I think about it now, the Idea actually sucked. Anyway: As we started, one could literally smell the tension in the room. Everyone rushed to implement their solution as fast as possible. Pretty soon my code was passing 2 out of 3 sample cases. But that is not enough to be finished with the task though. That’s where the disaster begins. Soon Elias, the youngest competing coder, had his correct solution submitted. Thankfully the others where struggling just as much me. After some time, the game was only between me and Lukas. And after way too long he finished as well, so I was the last remaining one. If you’re thinking that I couldn’t be far from a working solution either, you’re totally wrong. The reality ended up being that Ferdinand, another EJOI participant, implemented two solutions for the problem I was trying to solve in a fraction of the time I already spent. Thankfully, I called Lukas for help and because he is definitly one of the best coders I know (except tomorrow) he could find my bug really quick. Like that we were all finally able to go to sleep.

Day 6 - 26.8.2021 - Lukas

Nach mittelmässig erfolgreichen morgentlichen Codingversuchen und einem anderthalb Stunden nach dem Morgenessen serviertem Mittagessen, begab sich die CEOI Delegation auf den Berg “Bostg”. Nach doch etwas anstregendem Aufstieg wurden wir von äusserst anblicklichen Aussichten belohnt. Auf dem Abstieg grüssten uns anschliessend noch Babyziegen und eine Seilbahn, welche uns wieder nach Disentis transportierte. Dort nahmen wir am Codeforces Contest #741 teil. Nach einem für meine aktuelle Verhältnisse relativ respektablen Platz 635 beim Contest #740 folgte was nur als Blamage beschrieben werden kann: ein Platz 11’488. Dies war meine schlechteste Leistung aller Zeiten, mein Rating fiel von 1632 auf 1462, so schlecht wie schon fast seit einem Jahr nicht mehr.

Wie kam es zu dieser erbärmlichen Situation? Für die erste Aufgabe des Wettbewerbes benötigte ich mehr als viermal so lange wie ich eigentlich sollte, fast eine Stunde lang. Nun ja, so gut so traurig, aber da fing diese Geschichte gerade erst an. Obwohl ich die richtige Idee für die 2. Aufgabe hatte, war mein Code wegen geistiger Benebelung unglaublich langsam. Ich hatte mehr als eine Stunde Zeit dazu herauszufinden, weshalb meine Lösung so langsam war.

An dieser Stelle würde ich dem etwas versierten Leser gerne ein für alle mal den Begriff Precomputations ins Hirn brennen.

Doch dabei hörte meine horrende Inkompetenz nicht auf, da ich offenbar nicht in der Lage war, die dritte Aufgabenstellung richtig zu lesen. Da ich ein relativ kleines Detail übersah erhielt ich keinen müden Punkt, obgleich ich die Richtige Lösungsidee hatte.

Die EJOI Delegation hatte an diesem Tag den ersten Wettbewerbstag.

Day 7 - 27.8.2021 - Lukas und Priska

Der Tag begann soweit für unsere Verhältnisse normal, mit einem Wettbewerb um die erste funtionnierende O(n2n)O(n * 2^n) Implementation des Travelling Salesman Problems. Tatsächlich gewann ich diesen Wettbewerb, auch wenn meine Lösung aufgrund von fraglicher Implementation etwas langsam war. Daraufhin unterrichtete Joël uns in der Programmierung von lazy Segtrees, was zu deutsch eloquent als faule Segmentationsbäume übersetzt werden kann. Mit diesen können Anfragen und Veränderungen von Listenbereichen sehr effizient implementiert werden. Abends lösten wir anschliessend kompetitiv einfache Aufgaben um uns über Menschen, die diese aus diversen Gründen nicht schnell implementieren konnten (eventuell mich), lustig machen zu können.

Für die EJOI Delegation fand der zweite Wettbewerbstag statt. Die CEOI Delegation hatte ein Training mit Joël wärenddessen. Am Abend feierten wir die herausragenden Leistungen an der EJOI und hielten weitere Speedsolving Wettbewerbe für Dijkstra und Union find.

Day 8 - 28.8.2021 - Lukas und Josia

Der heutige Tag begann soweit normal, mit relativ viel Training und einigen Tasks. So löste in aller Seelenruhe gemeinsam mit dem Rest der Schweizer CEOI Delegation diverse Aufgaben (der Aspekt der Seelenruhe ist hier aus dramaturgischen Gründen unter Umständen etwas übetrieben). Nun sass ich eben in aller Ruhe, als plötzlich kurz eine Kuh auf meinem Bildschirm auftauchte (!), mich beleidigte und daraufhin so schnell wie sie erschienen war auch wieder verschwand. Seltsam, entweder Täuschen mich meine Sinne oder irgendeine Hintergrundapplikation nimmt sich gerade etwas zu viel Freizeit. Nunja, egal, ich sollte weiter Aufgaben lösen, der Wettbewerb kommt in unangenehm schnellen Schritten näher.

Doch dann, um 13:00 Uhr erscheint besagte Kuh nochmals. Nun agiere ich schnell, reisse mein Handy aus meiner Hosentasche und fotographiere meinen Bildschirm. Und tatsächlich, die selbe Kuh, die mich vor einer Stunde bereits beleidigte lädt mich nun zu einem Leader der SOI zum Pancakes-Essen ein. Kurios.

Der besagte Leader, der sich im Übrigen mehrere Autofahrstunden entfernt befindet, antwortete auf eine etwas verwirrte Nachricht meinerseits mit einem Pfannkuchenemoji. Noch kurioser. Eine Diskussion entfacht, was hier geschehen sein könnte. Wurde mein Laptop aufgrund von mässig hoher Passwortstärke aus der Ferne übernommen?

Nach etwas Recherche stellte sich heraus, dass automatisiert jede Stunde ein Kommandozeilenprogramm eine solche Kuh für einige Sekunden aufploppen lässt, mit jeweils für die jeweilige Stunde eigens geschriebenen Nachrichten. Da erinnerte ich mich auch plötzlich, dass Johannes wusste, dass ich meinen Laptop über Nacht zuvor offen gelassen hatte. Der Schuldige gestand und die Lektion für den Tag als auch für den Leser: Lasse Deinen Laptop niemals ungesperrt herumstehen.

Anmerkung von Timon Stampfli: Lukas mochte die spontan aufploppenden Kühe so sehr, dass er sie auch 3 Tage, nachdem er herausgefunden hat wie sie entstanden sind, noch am Laufen hatte und nur für den Wettbewerb deaktiviert hat.