Praktische Richtung

Resultate 1P

Die folgenden Teilnehmer haben sich für die zweite Runde qualifiziert:

Rank Participant Points (max: 50)
1. Lazar Todorovic 50
2. Luzi Sennhauser 48.5
3. Nikola Djokic 45.5
4. Johannes Wüthrich 42
5. André Rieser 35
6. Peter Müller 33
6. Stefan Lippuner 33
8. Marco Keller 32.5
9. Cyril Frei 32
10. Johannes Kapfhammer 30
11. Alexander Kayed 21
11. Silvan Laube 21
11. Ulrich Brodowsky 21
14. Peter Güttinger 20
15. Janis Peyer 19
15. Timon Stampfli 19
17. Martin Jehli 18.5
18. Filip Vucelic 16.5
18. Michaja Bösch 16.5
18. Mohammad Ali Nasserzadeh 16.5
21. Jonathan Donzallaz
21. Sidney Bovet
23. Basil Schöni
23. Cyrill Krähenbühl
23. Thomas Debrunner
26. Yannick Vessaz
27. Kévin Jorand
27. Maxime Guillod
29. Reto Hablützel
30. Amedeo Amato
31. Adrian Aulbach
31. Nico Kurmann
33. Haidar Abboud
33. Jilin Elavathingal
33. Luca Salzani
33. Momchil Peychev
33. Samuel Stachelski
33. Thomas Leu
39. Gallay Charles
40. David Ljubas
41. Andy Moser
41. Edouard Tang
41. Ilija Tipura
41. Roman Oechslin
45. Dominik Schildknecht
46. Colin Lavanchy
46. Lorenz Brun
46. Ramadani Faton

In der praktischen Richtung musst du zu jeder Aufgabe ein komplettes Programm (die Programmiersprache ist dir überlassen) schreiben, das deinen Lösungsweg implementiert, und anschliessend den Quelltext einschicken. Dazu haben wir die folgenden fünf kniffligen Aufgaben entworfen:

  1. Rechtecks-Spiel
  2. Ölkatastrophe
  3. Pässe
  4. Regen
  5. Polizei von Bangkok

Hinweis: Dein Programm sollte die Eingabe von der Standardeingabe lesen und das Resultat auf die Standardausgabe ausgeben! Falls du eine Programmiersprache verwendest, bei der das (fast) nicht möglich ist, verwende eine Datei für die Ein- und Ausgabe.

Einsendungen

Du solltest deine Lösungen direkt via dem Upload-Formulat, das in den Aufgaben verlinkt ist, einsenden. Als Einsendung sollst du entweder den Sourcecode direkt abgeben, oder falls er aus mehreren Dateien besteht, als Archiv einsenden. Es gibt ebenfalls ein Feld um eine Dokumentation zu den jeweilligen Aufgaben abzugeben (diese ist zwar optional aber sehr zu empfehlen)

Falls du Probleme beim Einsenden hast, kannst du deine Lösungen auch direkt per email an practical@soi.ch senden (schreibe in diesem Fall umbedingt deinen vollen Namen und SOI-Loginname).

Sende bitte keine kompilierten Programme, sondern lediglich den Programmcode. Wir werden kompilierte Programme nicht ausführen. Die Dokumentation kann in einem beliebigen Format (bsp: pdf, latex, doc, plaintext, etc.) geschrieben werden.

Versuche dich nach Möglichkeit auf nur eine Quelltextdatei zu beschränken um Übersicht und Kompilieren nicht zusätzlich zu komplizieren. Deine Quelltextdatei sollte einige Kopfzeilen enthalten mit den folgenden Informationen: Gelöste Aufgabe, Programmiersprache, Username:

/*
  Task: sample
  Lang: C++
  User: chuck
*/

Bewertung

Ein Programm, das alle unsere Testfälle innerhalb der Zeitlimite (einige Sekunden) korrekt löst, erhält die maximale Punktzahl. Diese Testfälle sind nicht öffentlich und du kannst dein Programm vorher nicht auf ihnen ausprobieren. Bei der Zeitbeschränkung geht es um die Asymptotische Laufzeitkomplexität deines Programms. Im Allgemeinen heisst das, du solltest die Laufzeit von Monaten auf Sekunden optimieren, nicht aber von 5s auf 3s. Desweiteren bist du frei, wie viel Speicher du beanspruchst, solange es in einem vertretbaren Rahmen bleibt (so ca. 100MB). Falls dein Programm schnell und korrekt ist, bekommst du die maximale Punktzahl (und kannst keine Zusatzpunkte verdienen mit der Dokumentation) Für ein Korrektes aber langsames Programm verteilen wir Teilpunkte (je nachdem wie Langsam dein Programm ist) Ein schnelles aber (teilweise) falsches Programm wird (fast) keine Punkte erzielen.

Dokumentation

Wir empfehlen dir auch, deine Lösungsidee in einer separaten Datei in Worten zu beschreiben. Falls in deinem Programm Fehler enthalten sind, verlierst du alle Punkte, die dieser Fehler verursacht. Wenn aus deiner Dokumentation aber ersichtlich ist, dass die eigentliche Lösungsidee richtig ist und es sich nur um einen Flüchtigkeitsfehler handelt, so werden wir einige Teilpunkte vergeben (basierend auf Qualität und Inhalt deiner Dokumentation und Quelltextdatei).

Diese Regeln sollen einen Schönheitswettbewerb vermeiden. (Es geht darum, was zu lernen beim Dokumentieren deiner Programme.)