to see the ACM logo, enable the display of images

International Collegiate Programming Contest

Erste Runde: German Collegiate Programming Contest

Samstag, 30. Juni 2012, Linux-Pool O27

1. Überblick

Die Association for Computing Machinery (ACM), die größte Informatikervereinigung der Welt, veranstaltet jährlich eine Programmierweltmeisterschaft für Studenten. Die Uni Ulm, die sich 1996-2004 neunmal hintereinander für die WM qualifizierte, sucht auch dieses Jahr wieder Teams aus je 3 Studenten, die Ulm bei dem Wettbewerb vertreten werden. Zunächst suchen wir Teilnehmer für die Erste Runde: den German Collegiate Programming Contest (GCPC).

Der GCPC findet gleichzeitig an mehreren deutschen Universitäten statt (Erlangen, Halle, Hamburg, Karlsruhe, Lübeck, München, Rostock, Saarbrücken, und Ulm). Die erfolgreichsten Ulmer Teams beim GCPC werden im November 2012 in Delft beim ACM Northwestern European Regional Programming Contest teilnehmen und gegen Universitäten aus Belgien, Dänemark, Deutschland, Finnland, Großbritannien, Irland, Island, Luxemburg, den Niederlanden, Norwegen und Schweden antreten.

Teilnehmen können alle Studenten der Universität Ulm, die noch nicht mehr als 5 Jahre studieren und bis Ende 2012 in Ulm bleiben werden. Andernfalls kann man auch außer Konkurrenz teilnehmen. Insbesondere sind auch Studenten der ersten beiden Semester eingeladen, am Wettbewerb teilzunehmen (es kostet nichts - ist aber nicht umsonst, traut Euch :-)
Die Anmeldung erfolgt per Email bei Adrian Kügel (Adrian dot Kuegel at uni-ulm.de). Folgende Informationen sind bei der Anmeldung hilfreich:

Hier folgt eine Zusammenfassung der wichtigsten Rahmenbedingungen:

AustragungsortO 27, Linux-Pool
Datum und UhrzeitSamstag, 30. Juni 2012, 11:00 Uhr
Wettbewerbsdauer5 Stunden
Teamgrößebis zu 3 Personen
BetriebssystemLinux
erlaubte ProgrammiersprachenANSI C, C++, Java
eingesetzte Compilergcc, g++, javac
verwendbare Texteditorenvi, emacs, xemacs, nedit, joe, ...
erlaubte HilfsmittelBücher, Skripte, Referenzen, Listings, man-pages
verbotene Hilfsmittelelektronische Geräte, Datenträger, (Netzwerk-)Kommunikation

Im Prinzip simulieren wir damit den Regional Contest so genau wie möglich.

2. Aufgaben

Es wird Aufgaben aus verschiedenen Bereichen der Informatik geben. Um einen Eindruck zu bekommen, schaut euch am besten die Aufgaben vom letzten Jahr an. Die Aufgabenstellung erfolgt in englischer Sprache. Alle sind nach dem folgenden Muster zu lösen:

Die Aufgaben sind nicht nach Länge oder Schwierigkeitsgrad geordnet. Wir empfehlen: lest Euch am Anfang alle Aufgaben durch (oder zumindest bis Ihr denkt, Ihr habt eine hinreichend einfache gefunden) und werft gelegentlich einen Blick auf die aktuellen Ranglisten (wurde eine Aufgabe bereits von vielen gelöst, ist sie vielleicht einfach).

3. Hilfsmittel

Erlaubte Hilfsmittel sind im wesentlichen alles nicht-elektronische. Insbesondere sind Taschenrechner nicht erlaubt (Ihr habt ja einen großen). Wir können die folgenden Hilfsmittel empfehlen: Im Zweifelsfall bitte vorher uns fragen. Jedes Team darf nur einen Computer benutzen; sprecht euch also gut ab, wie ihr den Computer gemeinsam nutzen wollt.

4. Rangliste

Die Rangliste wird wie folgt ermittelt. Erstes Kriterium ist die Anzahl gelöster Aufgaben. Haben mehrere Teams gleichviele Aufgaben gelöst, wird für jedes Team eine akkumulierte Zeit berechnet. Für jedes gelöste Problem wird die Submission-Zeit der korrekten Lösung genommen + Anzahl fehlerhafter Submissions * 20 Minuten. Diese Zeiten werden aufaddiert und ergeben die akkumulierte Zeit. Kürzere akkumulierte Zeit ist besser (aber denkt daran: mehr Aufgaben ist noch besser). Hieraus ergibt sich sofort, dass es geschickter ist, mit den leichteren Aufgaben zu beginnen.

5. Tips zur Vorbereitung

Die beste Vorbereitung besteht darin, Probleme vergangener ACM-Wettbewerbe zu lösen, um eine Vorstellung von der Art der Aufgaben zu bekommen. Die Aufgaben aller Ulmer Local Contests sind verfügbar. Für angehende Teilnehmer, die bereits etwas mehr üben wollen, kann der Sphere Online Judge empfohlen werden. Um Einfluß auf die Wahl der Programmiersprache zu nehmen, hier einige Kommentare zu den erlaubten Sprachen: Grundsätzlich sind alle gestellten Aufgaben in allen Sprachen lösbar - schließlich geht es ja um die Algorithmen und nicht um die Programmiersprachen. Bei manchen Problemen macht man sich das Programmieren durch die Wahl einer geeigneten Sprache leichter.

Empfohlene Literatur zur Vorbereitung und im Wettbewerb:

Viel Erfolg!


Letzte Änderung 2012.06.21, Adrian Kügel