The main difference for us was that this year we were less anxious. Last year, we were thinking that we participate in a competition with many clever and well prepared people and we stand no chance. While that was true for this year too, it did not feel intimidating but fun. We saw it as an opportunity to practice (and get motivated to practice even more) some coding skills, see some familiar faces and enjoy a free breakfast and lunch! If you are thinking of going there but you have some doubts, do not worry. The result does not really matter and it is a nice opportunity to meet some people.
There were some funny moments, like the photo that we took while holding croissants or the conversations with the photographer about the photos that we eventually could not take. This year, we had our t-shirts delivered at the beginning of the competition and we could also take some extra ones from last year. Free t-shirts and free food should be enough to convince everyone that it is worth it to participate!
During the dry run, we noticed that we could not use Eclipse with C++ this year. After the dry run, we enjoyed some sandwiches and juices. Then the competition started. The theme of the problems was that Heidi (the cow mascot of the competition) is under surveillance.
After the coding phase, we went to the announcement of the results. The members of the first teams take a prize. Then, there was a draw for the rest of the prizes where the probability of winning is proportional to the number of problems the team solved. We were luckier than last year and we won a book. Before taking the train to return to Zürich, we had a burger at the same place as last year.
Instead of writing an epilogue, I will list a solution of spy2 from the problems. Unfortunately, we didn’t manage to submit it correctly at the competition, but we had printed a copy of the code to debug it and we were able to find the correct solution at home.
At the end of the competition, we get the opportunity to see some suggested solutions to the problems. The solution presented here differs from the suggested one. The idea is variable byte code. You can find a brief explanation on slide 19.