Helvetic Coding Contest 2015 Programming like there's no tomorrow
This year, AdNovum's «neviz» team entered the Helvetic Coding Contest organized by EPFL to compete with Switzerland's top competitive programmers.
Thursday, March 5: an idea is born
The idea to participate in the Helvetic Coding Contest (HC2) organized by EPFL Lausanne is born following AdNovum's first internal quarterly presentation. Admittedly, our courage and determination is also owed to the free beer after the presentation. But at the end of the evening, shortly before the deadline, we enrol in the HC2 as «neviz» team – including Thomas Bürli, Stephanie Stroka and Daniel Schwyn. However, only after the registration we realize that teams are required to solve an easy problem for a binding registration. We have only a few hours left ... Too bad Thomas is travelling – without a computer – and Stephanie is on her way to the airport. But Thomas is able to solve the problem on his smartphone using JSFiddle while on the train that evening. At the same time, Stephanie takes care of the task during her turbulent flight to Berlin. This is how we qualify for the HC2 at the last minute. Unfortunately, Daniel needs to cancel his participation, but Henning Thomas covers for him.
March 6–19: two weeks of preparation just like for a sports event
As we are all very busy in the two weeks prior to the contest, we have hardly time to get prepared. In order to achieve a high ranking, it is advisable and necessary to train «competitive programming» just as one would exercise for a sports event. For preparation, we use last year's HC2 tasks and additional sources such as Google Code Jam and topcoder. An on-site competition comes with a particular challenge: there is no Internet access, which makes it impossible to simply search for algorithms and programming examples. We assume that all of our 59 competitors will be very well prepared and that we do not stand much of a chance.
Friday, March 20
We are excited. On the train to Lausanne, we study a few of last years' problems and solutions that Henning brought along.
Our night is going to be short and, most likely, restless.
Saturday, March 21, morning: tension is rising
Before the contest starts, the sponsors – AdNovum and Open Systems – introduce themselves. Finally, we get started. Following a short introduction, we begin to test the Linux live system that the organization team has provided specifically for the contest. It is now around 12 o'clock. For fairness reasons, it is not possible to prepare code snippets or access the Internet. However, there are compilers, development environments and user manuals for a number of languages such as C, Java, Python, Ruby, and Scala. The three problems we solve during the test run are designed to give us a foretaste of what is to come in the afternoon. Time flies – just before we upload our third solution, the final «whistle is blown». As we run on adrenaline, tension is already pretty high when we take a lunch break.
Saturday, March 21, 1.15 p.m.: let's get started!
The real competition begins. In 4 ½ hours, we are supposed to solve 16 problems: 5 easy ones, 5 medium and 5 difficult ones as well as one warm-up task. We start with the warm-up task entitled «The Fantastic Four». What a mistake! While reading the task, more and more question marks pop up. «What exactly is the problem? It's obviously a play extending over 4 full pages. What are we supposed to do with this?» The real problem is disguised as a poem. To keep the suspense for everyone who would still like to solve this riddle, we do not tell what the objective is. We feel it took us 10 minutes to just figure out the problem, and some more precious time to solve it. Time in which the first balloons are distributed to the teams as a symbol for problems solved. We finally fail due to Python-specific issues: the interpreter simply does not accept the program. To avoid losing even more time, we move to the next task. However, we do the warm-up task once again at the end using a language we are definitely more familiar with and manage to submit it.
With more and more balloons being distributed, we get increasingly nervous. But the more we focus on a problem, the less we realize what is happening around us.
Saturday, March 21, 5.45 p.m.: game over!
At 5.45 p.m. we are done! We have managed to solve 6 problems and had a great time. Only moments later, the results are announced – of all the participants. How well has the neviz team done? Quite well: it ranks 28th among 60 participants. We are very pleased!
Many other teams also found the problems of medium and high difficulty a hard nut to crack. No wonder none of them has managed to solve every problem. The winning team solved 15 out of 16. Hats off – they are obviously highly skilled.
The next day, we enjoy some sightseeing before going back home. We are looking forward to further contests.
AdNovum has supported the EPFL Helvetic Coding Contest since 2012. Every year, AdNovum employees who graduated from EPFL give a presentation on the company and talk about their experiences working at AdNovum.