Practical Track

Results 1P

The following participants qualified for round 2:

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

For the practical round, you are asked to write and submit the source code of a complete program in the programming language of your choice, capable of solving the specified task. For this we have prepared five juicy tasks to keep you occupied:

  1. Rectangle Game
  2. Oil Spill
  3. Passports
  4. Rain
  5. Bangkok Police

Note: your programs are supposed to read the input from the standard input! If you use a language, for which that is (almost) impossible, read the input from a file

How to submit

You should submit your program directly via the submit-form linked at each of the task-pages. Either submit the sourcefile directly or, if you have multiple files, as a an archive. There is also a field for a documentary file (optional but strongly desired).

If you have problems submitting, you can also send the solutions via email to (please note your full name and login-name in that case).

Please do not send binary-files, but sourcefiles only! We will not look at binary files. The documentation can be in any (readable) format (e.g. pdf, latex, doc, plaintext, etc.).

If possible, try to have just a single source file in order not to complicate things. At the top of the source, include a header specifying which task you solved, which programming language you used and your login-name:

  Task: sample
  Lang: C++
  Users: chuck


A program that correctly solves all our test cases within reasonable time (seconds) will receive the maximum score. Note that these testcases are not public, so you do not know them in advance. For the time constraint we are looking at the asymptotic runtime complexity of your program. This generally means you should optimize your run time from months to seconds, but not from 4s to 3s. Moreover your programs can use memory up to a «reasonable» limit (100MB as a rough value).

  • If your code is fast and correct, you will score the maximum (and no extra points can be gained from the documentation).
  • If your program is correct, but slow, you will be awarded partial points depending on how slow it is (also look at partial scoring on the task sheets).
  • If your program is fast but (partially) incorrect, you will score (almost) no points.


We encourage you to also write an explanation (in words), what the idea is behind your program. If your program has a bug, you will lose a lot of the points caused by the bug, unless you send a correct (and good) documentation. In the latter case we will award partial points depending on the quality of the content of your documentation and source code. Thus you can save some of these lost points.

These rules are intended to avoid an art contest. (You should learn something when explaining your solution in words.)