Die Programme, mit denen Du die Aufgaben löst, kannst Du in C, C++ oder PASCAL schreiben.
Erfreulicherweise gibt es einige kostenlose Compiler, mit denen man C, C++ und PASCAL kompilieren kann. Obwohl wir hier einige nennen, so solltest Du auf jeden Fall bei Deiner Wahl das Auswertungssystem (siehe unten) nicht außer acht lassen.
Unter der Anleitung von Jyrki Nummenmaa wurde eine (englische) CD entwickelt, die bootfähig ist und mit einer Linux-Umgebung alle wichtigen Programme zur Verfügung stellt.
Das hat den Vorteil, daß Du das bestehende System auf einem Rechner nicht verändern und nichts darauf installieren mußt, um darauf Programme zu schreiben. Das ist machmal praktisch - besonders, wenn einem der Rechner nicht gehöhrt.
Zum Kompilieren allerdings relevant ist nur das Auswertungssystem. Das Auswertungssystem verwendet die angegebenen Compiler.
Bei der Entwicklung der Programme ist immer zu beachten, daß sie letztendlich - und nur dies zählt - auf dem Auswertungssystem laufen müssen. Dieses läuft unter Linux. Hier gibt es typische Stolperfallen (z.B. die Relevanz der Groß- bzw. Kleinschreibung von Dateinamen, Dateizugriffsrechte, Zeitmessung, Windows-spezifische Bibliotheken, usw.). Allerdings bieten die „öffentlichen Testfälle“ eine sehr gute und einfache Möglichkeit, diese zu umschiffen und im Voraus zu vermeiden. In der Rubrik Aufgaben findet sich mehr darüber.
Das Auswertungssystem verwendet die folgenden Kommandos, um dein Programm zu kompilieren:
C: | gcc -O2 -static abc.c -lm |
C++: | g++ -O2 -static abc.cpp -lm |
PASCAL: | ppc386 -O2 -XS abc.pas |
Dein Programm darf nichts anderes machen, als zu versuchen, die Aufgabenstellung zu lösen.
Insbesondere ist es nicht erlaubt, eine andere Datei außer der Eingabedatei zu lesen oder eine andere Datei außer der Ausgabedatei zu schreiben. Alle weiteren Dateisystemoperationen sind verboten. Dein Programm darf keine weiteren Prozesse erzeugen, das Netzwerk benutzen oder externe Bibliotheken (wie z.B. crt und graph) verwenden.
Jede Zuwiderhandlung führt zur sofortigen Disqualifikation vom aktuellen und allen kommenden Wettbewerben.