| Bereich | Beispielprobleme |
|---|---|
| Backtracking | 8-Damen-Problem
Springertour auf Schachbrett |
| Graphenprobleme | Kürzeste Route zwischen 2 Städten finden, wobei eine Landkarte
gegeben ist
Testen, ob ein gegebener gerichteter Graph einen Zyklus enthält |
| Computational Geometry | Bestimmen, ob sich zwei gegebene Strecken schneiden oder nicht
Konvexe Hülle eines Polygons bestimmen |
| Dynamisches Programmieren | Rucksackproblem
Optimale Klammerung einer Kette von Matrixmultiplikationen A1 * A2 * ... * An, so dass die Anzahl der elementaren Multiplikationen minimiert wird |
| Zahlentheorie | Summe aller echten Teiler einer gegebenen Zahl berechnen
Alle Primzahlen p mit a <= p <= b ausgeben |
| Parser/Compilerbau | Eingabe: ein arithmetischer Ausdruck als String
Ausgabe: das Resultat dieses Ausdrucks Beispiel: Eingabe: "4+3*(7-2)", Ausgabe: 19 |
| Meldung | Bedeutung |
|---|---|
| Accepted | Programm ist als korrekt akzeptiert. Gratuliere. |
| Wrong Answer | Programm liefert falsche Antwort |
| Presentation Error | Algorithmus ist im Prinzip richtig, aber Ausgabe entspricht nicht der gegebenen Spezifikation |
| Time-Limit exceeded | Algorithmus ist zu langsam.
D.h. Ausführungszeit für Beispieleingabe >> 60 sec |
| Run-Time Error | Programm stürzt ab |
| Compile-Time Error | Programm läßt sich nicht compilieren |
Man hat beliebig viele Versuche, bis man eine "Accepted"-Meldung erhält. Allerdings bekommt man für jeden Fehlversuch 20 Strafminuten zur benötigten Programmierzeit addiert. Achtung: Das heißt nicht, das man dann nach 4:40 h aufhören muss. Man darf auf jeden Fall 5 Stunden lang programmieren. Es wird dann aber so gewertet, als hätte man 5:20 h gebraucht.