SOI Contest 2016

The first round

The first round of SOI 2016 consists of six tasks: There are three practical and two theoretical tasks, as well as a creativity task. For the practical tasks, you are asked to write a programmed solution (source code, no binaries), that we will test on suitable input files. For the theoretical tasks, a complete explanation of the solution is necessary for full score. The creativity task is an interactive game, which is deliberately chosen such that it cannot be solved optimally. Therefore, you are not asked to write a perfect solution, but you may come up with good, creative ideas that lead to a solution that plays the game better than the programs of the other participants.

The first round of SOI 2016 starts on October 1st, 2015 and ends on November 30th, 2015.

This year we organize [[blog:einladung-soi-workshops-herbst-2015 | workshops in Zurich, Bern and Lausanne ]] for participants of the SOI.

Please carefully check the rules and general information given below so that you can correcly solve the tasks. In case you have further questions, feel free to ask them via E-Mail (

General Information

What is the SOI?

The Swiss Olympiad in Informatics is the national qualification for participation in the IOI (the International Olympiad in Informatics). The SOI aims to train and select four participants to represent Switzerland at the International Olympiad in Informatics.

What is the IOI?

The International Olympiad in Informatics is one of five scientific olympiads, that are supported by UNESCO. Each year circa 300 participants from more than 80 different countries compete to take home a gold, silver or bronze medal. Apart from the contest, there are also excursions and other special events each year.

How can I get to IOI?

  • The first round: Everyone who satisfies the conditions of participations (see below), can participate in the first round. The participants of the first round are given two months of time to independently work on the provided tasks and to submit the solutions. For solving the practical tasks and the creativity tasks, participants may use arbitrary programming languages. (Under the condition that we actually can get the programs running, of course). However, in later rounds, as well as at IOI, you will not be allowed to use any language other than C, C++ or Pascal to solve the tasks.
  • SOI Day: The SOI day on January 9, 2016 is an event in Zürich during which the results of the first round will be published. Furthermore, the tourney to find the winner of the creativity task will take place at SOI day. Finally, there will be gripping speeches on topics of Computer Science.
  • Davos Training Camp: The top 24 participants of the first round qualify for participation in the training camp in Davos, where participants train on selected IOI-like tasks and visit interesting lectures. In the camp you meet other participants and you have a lot of fun (see pictures).
  • The second round: The best participants of the first round qualify for the second round. Participation in the Davos Camp is not mandatory for participation in the second round. The second round consists of two parts: There is an online contest, where you may solve four practical tasks inside a time frame of 5 hours as well as a theoretical exam that takes place on-site in Zürich.
  • The final round: The top 12 participants of the second round are invited to the final round in Zürich. During the final round there are four practical programming contests that are held on two weekends in Zürich.

The four best programmers from the final round travel to Russia to compete at the IOI 2016.

During the year there are often further opportunities: In the past the SOI sent the top participants of the Davos Camp to a programming contest in Romania and the top four participants of the second round could participate in a training camp organized by the Slovak Olympiad in Informatics.

Why to participate?

  • You learn a lot of interesting things about computer science.
  • You meet a lot of people with similar or the same interests.
  • You can win a free trip to a foreign country.
  • You can participate in several events that are not solely about programming.


  • You can participate if you have been born on 1. July 1996 or later and you are enrolled at a swiss school (high-school, vocational school, etc) located in Switzerland during the period September to December 2015.
  • To participate, you need to register at the web page of SOI and set your status to Participant
  • You must participate under your own name.
  • Solve the tasks on your own. We strongly encourage you to study from books and internet but do not copy any solutions directly from these sources.

Qualification for the second Round and for the Davos Camp

The top 60 participants of the first round qualify for the second round. Please note that this is quite a lot and it is usually not necessary to solve all the tasks to score under the top 60. Therefore, by all means submit your solution even if you only solved one or two tasks. The best 24 participants of both parts will qualify for the Davos-camp, an all-inclusive training week which will take place February 2016 in Davos.