World Finals 2014 Report

Daniel Graf – Travelling & Solving Problems

This summer, I was among the lucky three who represented ETH at the ACM ICPC World Finals (International Collegiate Programming Contest). We competed against the best 120 teams from around the world and spent three exciting weeks in Russia.

“Welcome to the heart of Russia. Welcome to Yekaterinburg. A city with 1.5 million citizens and an over 300 year old history. […] Yekaterinburg is a unique megapolis. On the border of Europe and Asia we have taken all the best from the east and from the west. […] It is the place where you can become an ACM ICPC 2014 champion. Добро пожаловать!”

This is how we and a hall full of excited young math and computer science students were greeted in a pretty epic opening ceremony. It was full of spectacular dances, orchestral music and also featured the cool video I just quoted. Even Vint Cerf made an appearance – in the form of a Jor-El-style video message. So how did we get there?

ETH-Team (from left to right): Daniel Graf, Nikola Djokic, Jan Hązła (coach), Vladimir Serbinenko (coach), Johannes Kapfhammer (Image: Bob Smith, Hans Domjan, ACM ICPC)
ETH-Team (from left to right): Daniel Graf, Nikola Djokic, Jan Hązła (coach), Vladimir Serbinenko (coach), Johannes Kapfhammer (Image: Bob Smith, Hans Domjan, ACM ICPC)

One does not simply fly to Russia
Back in November 2013, I teamed up with two math students at ETH, Nikola Djokic and Johannes Kapfhammer. At the Southwestern Europe Regional Contest in Spain, we managed to obtain the second place and qualified for this year’s world finals. We trained for two weeks during the spring semester. Fitting in daily five-hour-contests between the regular lectures was not easy but always worth it. As in previous years, the training was organized by the ACM VIS committee and the coaches at ITMO, the former world champions from St. Petersburg. We also attended and won the Helvetic Coding Contest at EPFL, which is probably the most fun Swiss programming competition. They always have some cool, non-standard problems. For instance, this year we solved one of the tasks with the Bloom filter.

Final training in St. Petersburg
In order to be in good shape for the finals, we went to Russia ten days earlier and participated in the programming contest summer school organized by the ITMO in St. Petersburg. Besides the daily contests and lectures, we explored this marvellous city, often called the Venice of the North. Beautiful stone buildings, rivers and canals everywhere and tons of cathedrals and monuments make it a jewel. Robert’s report from the last Finals already listed all the best attractions there and I can only agree. We spent hours in the galleries of the Hermitage museum and got tickets to the graduation performance of the ballet at the Mariinsky Theatre. The city is also the eternal home of Tsar Peter the Great, composer Pyotr Ilyich Tchaikovsky and, maybe a bit surprisingly, of Leonhard Euler, who spent the last years of his life there and now rests in a very modest grave.

On the last day, we explored the offices of Yandex – the biggest Russian search engine and web company. Being often called the “Russian Google”, it was interesting to see the many striking similarities but also the differences in how it operates, how its offices are furnished and how it tries to boost computer science education across Russia. In the evening, St. Petersburg celebrated Alye Parusa (Scarlet Sails), where all bridges opened up and a historic ship with scarlet sails cruised around on the Neva surrounded by gigantic fireworks. It was nice to experience the White Nights, the time of the year where the sky at night looks like permanent dawn. This meant that the firework only started at 1:30am. But we and one or two million locals did not mind staying up until then.

Yekaterinburg City Pond with the Kosmos conference center and the church on the blood
Yekaterinburg City Pond with the Kosmos conference center and the church on the blood

Contest in Yekaterinburg
After a three hour flight to the east, we landed in Yekaterinburg, the destination of our journey. The city was swamped with gigantic ICPC billboards and an entire conference center and basketball arena was prepared for the contest. The first two days were filled with preparations, the opening ceremony, some lectures by IBM and a final dry run, the so-called dress rehearsal.

And then the day we all trained for was there: five hours, twelve problems and an enormous amount of balloons waiting to be distributed. In case you are wondering what the balloons are for: once a team solves a task, a balloon of the corresponding colour gets attached to their desk in order to mark their progress. But this year, only three tasks were solved by more than a couple of teams and four tasks were not solved at all. So even at the end of the contest the cloud of balloons above our heads was still pretty sparse. We managed to solve two of the tasks which placed us in the middle of the ranking. The victory was again fought out between the best Russian universities with St. Petersburg State University beating Moscow State University. They were head to head until the end, both solving tasks in the last ten minutes, both ending up with seven tasks solved and so the collected penalty time had to decide the winner. Placed third was Peking University followed by the National Taiwan University, both having solved six tasks.

The ACM ICPC Champions 2014 from St. Petersburg State University
The ACM ICPC Champions 2014 from St. Petersburg State University


The city of the last Tsar
In the days after the contest, we took some time to explore Yekaterinburg. The museum of fine arts features a giant cast iron pavillon that represented Russia at the world’s fair in 1900 as well as many minerals from the Ural region. Yekaterinburg is also home to some strange architectural records: the 220 meters tall TV tower is claimed to be the world’s tallest permanently incomplete structure and the Vysotsky tower is the world’s northernmost skyscraper. Along the city river there is a big 16 by 4 meter concrete QWERTY-keyboard monument once visited by Prof. Niklaus Wirth. Even stranger was the city’s Mafia cemetery. During the Russian mob war in 1990s, the mobsters had huge gravestones with life-sized full-body pictures built for them.

In Russian history, Yekaterinburg is mainly remembered as the city where the family of the last Tsar Nicholas II was brutally murdered by the Bolsheviks in 1918. The “Church on the Blood” was erected on that spot and is now one of the many landmarks of the town.

We also visited Ganina Yama, a Russian-Orthodox monastery and place of pilgrimage located about an hour outside of the city. A compound of several wooden churches with golden bell towers surrounded by deep forest make for a very memorable place.

Ganina Yama
The wooden monastery in Ganina Yama outside of Yekaterinburg.

This trip would not have been possible without the support of the Department of Computer Science and the Chair of Professor Hromkovic,. We would like to thank our coaches, Jan Hązła and Vladimir Serbinenko, as well as the remainder of the ACM VIS committee for all their efforts.

Are you interested in defending the colours of ETH at the regionals in Porto, and maybe even the world finals in Morocco next year? Check out the website of the ACM VIS commission at for information about eligibility, training events, and the local selection contest.