The in-person finals of the 10th annual Code Jam competition, that challenges contestants with tough coding problems, took place in London last week. The leaderboard is now online and so are the problems. So we can all see just how tough they were.
Code Jam is a popular contest that attracts contestants from around the world. This year 45,000 people registered and, after four online qualifying rounds, twenty-four of them were flown to Google's London offices to tackle five problems, worth a total of 200 points, in the space of four hours.
The winner of the $15,000 prize was Ivan Miatselski from Belarus, participating under the name “mystic".
The problems, all of which are now available in Practice Mode on the Code Jam site, with downloadable input files for each of the problems, are designed to be difficult and, as in every other staging of the competition no-one achieved a perfect score.
The scoreboard for the 2013 finals indicates that mystic amassed 121 points, 10 points ahead of the two closest contestants. In total only four programmers had 100 or more points and there was a huge range so that although all the contestants achieved a solution to at least one part of a problem, nine of them ended up with scores lower than 50 points.
It also indicates that no-one got as far as attempting the 50-point large input version of Problem E; and that only one person, who was ranked 10th overall with 79 points, successfully attempted the large input version of Problem C, which is a computational geometry problem.
Problem B: Drummer stands out by virtue of being "easy" - all 24 of the finalists cracked the small input version. The task is to find a drummer who can keep the most consistent rhythm and you are told:
Ideally, the time difference between consecutive strikes should be exactly the same, producing a perfect rhythm. In a perfect rhythm, the drum strikes will have time stamps that follow an arithmetic progression like this:
T0, T0 + K, T0 + 2*K, ..., T0 + (N - 1)*K.
Next year mystic will be invited to defend his title of Code Jam Champion at the 2014 finals. So if you want to try to beat him and other highly talented coders, try your hand at the various problem sets which can be tackled in any programming language.