ACM ICPC World Finals 2018

Solution sketches

11 solutions (A–K)

Disclaimer This is an unofficial analysis of some possible ways to solve the problems of the ACM ICPC World Finals 2018. They are not intended to give a complete solution, but rather to outline some approach that can be used to solve the problem. If some of the terminology or algorithms mentioned below are not familiar to you, your favorite search engine should be able to help. If you find an error, please send an e-mail to austrin@kth.se about it.

— Per Austrin and Jakub Onufry Wojtaszczyk

ACatch the Plane
BComma Sprinkler
CConquer the World
DGem Island
EGetting a Jump on Crime
FGo with the Flow
GPanda Preserve
HSingle Cut of Failure
ITriangles
JUncrossed Knight’s Tour
KWireless is the New Fiber

Summary

The problem set this year was a bit harder than in the last few years. This may be a case of the judges having found their way back to a normal difficulty, after having somewhat overdone the easy end of the problem set spectrum for a few years following the way too hard problem set we gave in 2014.

Congratulations to Moscow State University, the 2018 ICPC World Champions!

In terms of number of teams that ended up solving each problem, the numbers were:

ProblemABCDEFGHIJK
Solved1061350510126746470124
Submissions26224741591462752782291254

The most popular language was (as usual) C++ by a wide margin: 1813 submissions, trailed by Java at 101, and only 4 submissions for the other languages (C/Kotlin/Python 2/Python 3).

A note about solution sizes: below the size of the smallest judge and team solutions for each problem is stated. It should be mentioned that these numbers are just there to give an indication of the order of magnitude. The judge solutions were not written to be minimal (though some of us may have a tendency to overcompactify our code) and it is trivial to make them shorter by removing spacing, renaming variables, and so on. And of course the same goes for the code written by the teams during the contest!