The ICPC Resolver is a tool for graphical animation of contest results. It shows the final runs submitted during a contest in an interesting way, and leads up to display of the award winners. The Resolver concept was created by Fredrik Niemela and Mattias de Zalenski at KTH Royal Technical University. The ICPC Tools Resolver implementation was developed by Tim deBoer of IBM Corporation.

The Resolver is designed to be used in contests where the scoreboard is “frozen” prior to the end of the contest - that is, where the result of runs submitted in the last part of the contest are not displayed on the scoreboard (such runs are typically marked as “pending”). The Resolver produces a dynamic display by stepping through (“resolving”) pending runs and generating displays showing the contest winners in ranked order, along with citations for awards earned.

After displaying an introductory “splash screen”, a single keystroke or mouse click causes the Resolver to display the contest standings as of the time the scoreboard was frozen. A key or mouse click then causes it to advance to the bottom of the standings; a subsequent key/click starts the “resolving” process: starting at the bottom, it moves up until it reaches a team that has one or more pending submissions during the freeze time. Each pending run is ‘resolved’ (to either a “yes” or “no” judgment), and if the run was successful the team will move ‘up’ into their new position based on the results.

Options allow you to configure when the resolver pauses, but by default it will continue moving up and resolving until it gets to an ‘interesting’ case - typically a first-to-solve award, a “group” or “region” winner, or a gold/silver/bronze award winner. When it reaches an award, the resolver will pause and switch to a screen showing the team name, the logo and image (if available from a CDS; see below), and an award citation. Once the award has been handed out, clicking returns to the regular Resolver screen and continues the resolving process.

A variety of options are available, including managing the speed at which the Resolver runs, controlling various “single-step” operations, configuring categories of awards to be acknowledged during the resolving process, and controlling simultaneous Resolver operations at multiple contest sites.


The latest stable Resolver version is 2.4.727, released on 03 April 2022 at 14:27:38 from commit 5af27d7d.

Download stable release v2.4.727

The latest prerelease is v2.5.1067, built on 25 May 2024 at 19:35:09 from commit f800d88f.

Download prerelease build v2.5.1067


The Resolver documentation can also be downloaded.

Download / view documentation (PDF format)