For the second time this year, the Cloudflight Coding Contest (CCC) returned to Vienna's city hall for its 38th installment on October 20th. Like every time, the contest isn't just held in the locations but also in a global competition counting all participants from all locations. The contest is still divided into different disciplines such as #school and #classic. As my school sends a group of students each time, a few of my classmates and I participated in the school discipline, which is significantly shorter than the classic at only two instead of four hours (this will become an issue later).
This contest, I finally managed to get a result I am really satisfied with. In the #school discipline, I got 5th place overall (including teams and singles) and 3rd 🥉 place of all singles.
As mentioned above, the contest is held in multiple locations at the same time. Most of these locations are in European software development epicenters such as Cluj, Vienna, Cologne and many more. Of course, you can also always join in remotely via the web. In my case, we participated in the Vienna city hall, which was rented out by Cloudflight.
As per usual, the tasks were logic problems packaged in some sort of game theme. These are split up into 5 levels which get incrementally harder. For each level, there are a couple of input files. For each of these, you have to create an output file which should be done by a program you write. This means that the programming language you choose does not matter and it is theoretically even possible to do this by hand. As I've got some experience with it, I chose to use JavaScript.
This year, the theme was a puzzle. The tasks contain puzzle pieces identified by a 4-character string representing the edges of a puzzle piece (H - Hole
or K - Knob
). The first and second levels were really simple counting exercises and just used to give you simple building blocks needed for the higher levels.
The third level was a little bit more nuanced but still easily solvable. Unlike the first two levels, the input was a full puzzle matrix with some wrong pieces in it. The task was simply to replace all the wrong pieces with correct ones without changing any of the correct links. This can of course be solved with two simple for loops going through each puzzle piece in the two-dimensional array. This would have been the part where I moved on to level 4 but unfortunately, the contest management system had other ideas.
After around 10 minutes of trying to submit level 3, a member of staff came on stage and announced that there was a problem with the submission checker for level 3, making it impossible for anyone to submit the level. This issue was unfortunately only fixed after about 30 minutes. This only left about 20 minutes of the contest which was not enough for anyone to complete the contest. And with no one finishing level 4, this meant that the sole decider of the contest was how fast you could submit level 3 after they fixed the issue. This can also be seen in the proximity of the first 8 places who are all within 30 seconds of each other. To put this number into perspective, the top 8 of the last CCC were within 56 minutes of each other.
Overall, I am still happy to have participated as the tasks given by Cloudflight are always some of the most interesting given at coding competitions. The tasks always mimic something you could find on Leetcode which feels like a breath of fresh air compared to some other competitions I competed in, forcing you to use their proprietary software in some deprecated language that only works on Windows (.NET Framework).