ICPC Challenge

The regular tournaments for the 2013 ICPC Challenge are complete, and we've run one more tournament combining the top eight teams from the regular 2013 ICPC Challenge and the 2013 Open ICPC Challenge. For this extra trounament, we used all new maps, so every match could be any player's game. The tree below shows how the tournament played out. Congratulations to the following ICPC World Finalist Teams for taking the top four places in the tournament.

Ludwig-Maximilians Universität MünchenFirst Place
University of LethbridgeSecond Place
Universidad Tecnologica de PereiraThird Place
University of TorontoFourth Place

Clicking on the little blue circles in the tournament tree will try to launch an applet to view the match. You can also download the trace file for each match using the links below and watch it in the TracePlayer that's included in the game binary for coderunner.

Downloadable Trace Files

ICPC Challenge Tournament

The tournament for the 2013 ICPC Challenge is complete. Congratulations to the following teams for finishing in the top four places in the tournament.

Ludwig-Maximilians Universität MünchenFirst Place
Universität RostockSecond Place
Universidad Tecnologica de PereiraThird Place
University of LethbridgeFourth Place

The following image shows how it played out. Clicking on the little blue circle for a match will try to start up an applet playing the match. If this isn't working for you, you can use the links below to download a trace file for the match and play it locally. Soon, we will be posting videos of the tournament that was presented at the World Finals in Saint Petersburg.

Downloadable Trace Files

Open ICPC Challenge Tournament

For 2013, anyone could compete in the Open ICPC Challenge. After receiving submissions from 14 participants, we ran a double elimination tournament to determine the winners. Congratulations to the following teams for placing in the top 4. Starting in the week of July 7, we will conduct one more double elimination tournament between the top eight participants in the Open ICPC Challenge and the top eight World Finalist teams from the ICPC Challenge. Visit this page to see how this tournament plays out.

St. Petersburg State University of IT, Mechanics and Optics - vi34First Place
University of Lethbridge - LernerSecond Place
Aalto University - flowerpotThird Place
University of British Columbia - Purple PuppyFourth Place

In the tree below, if you click on a little blue circle for a match, you may be able to watch the match inside an applet. If this isn't working for you, the links below will let you download a gzipped trace file for the match. After uncompressing this, you should be able to watch it in the TracePlayer, just like any of the preliminary matches.

Downloadable Trace Files

Preliminary Standings

We've finished the last night of preliminary matches. We ran more than 600 matches among the participating teams and used the following rankings to build the tournament tree above.

CompetitorWin Count
Ludwig-Maximilians Universität München30
Universidad Tecnologica de Pereira24
Universität Rostock22
Can Tho University18
University of Wisconsin - Madison18
University of Lethbridge15
Belarusian State University12
University of Toronto10
The Chinese University of Hong Kong9
Cairo University - Faculty of Computers and Information4
Escuela Superior De Computo Instituto Politecnico Nacional2
Kazakh-British Technical University1
University of Central Florida0
Samara State Aerospace University0
Renmin Unversity of China0
Zhejiang University0

At the end of the coding phase for the Open ICPC challenge, here's what the preliminary player rankings looked like. We used these rankings to build the final tournament tree for this contest.

CompetitorWin Count
St. Petersburg State University of IT, Mechanics and Optics - vi3418
Ural State University - Dandelion16
Moscow State University - Ocksumoron12
National Institute of Technology, Warangal - nitwteam11
University of Lethbridge - Lerner9
Balashov Institute of Saratov State University - BiSGU9
Urmia University - yashar_sb_sb8
Carnegie Mellon University - Future Gadget Lab6
Universidad de Oriente - Sede Antonio Maceo - Napster5
University of Lethbridge - uleth individual 24
National Research University Higher School of Economics - dedpyhto3
Free University of Tbilisi - GeorgiaTeam0
University of British Columbia - Purple Puppy0
North American College - NAC #10
Misr International University - loay0

2013 ICPC Challenge

The ICPC Challenge gives programming teams and their coaches a chance to work on a different kind of problem. Working with their coach, teams implement a player and compete against other teams' players in a new game called CodeRunner. Preliminary matches during the two-week coding phase will let teams know how well their players are doing. A final double-elimination competition among all the submitted players will decide whose player is the best.

Coding and preliminary matches will run from the start of the UTC day on June 3 to the end of the UTC day on June 16. World Finals teams can work on developing their players, submit preliminary player versions, compete in matches against other teams' players and see how their strategy compares. After the coding phase ends, a tournament among the latest versions of all teams' players will be presented as part of the 2013 ICPC World Finals events in Saint Petersburg.

CodeRunner

The 2013 ICPC Challenge game, CodeRunner, has a playing field that looks something like the following figure. A red player and a blue player compete to collect gold, while avoiding several enemies that are moving around the map. Each player directly controls a single runner character, who can move left and right, climb up and down ladders and break temporary holes in the floor with a large hammer. In addition to collecting gold, players earn points by exploring the map and trapping enemies and their opponent in holes. The game rules describe how to examine the state of the map and control the runner. All you have to do is figure out how to win.

Illustration of the game

Thanks to Saratov State University

The 2013 ICPC Challenge is brought to you by a team from Saratov State University. Nikolay Kuznetsov and Dmitry Matov, both students at Saratov and former ICPC world finalists and medalists, worked with Mike Mirzayanov, their former coach and head of the Programming Competitions Training Center at Saratov, to develop the idea for Coderunner. They implemented, tested and refined it until it was ready, and without their generous contribution of time and expertise, this year's challenge would not have been possible.

Writing your Player

Your player will be implemented as a stand-alone program in C++ or Java. You will interact with the game by reading information about the game world from standard input and writing your next move to standard output. The sample players can be a quick way for you to get started writing your player and interacting with the game. A more detailed description of the execution environment explains the input and output format for your player as well as other rules for what your player can do.

Running a Match

Once you have a player written, you can run it by starting up the game and pointing it to your player's executable. If you have written a player in C++, you can run it against the sample Java player using a command like:

java -jar coderunner.jar -player cpp myPlayer -player java -cp java_example GoToNearestGoldPlayer

If your player is implemented in Java, you can run it against the example player using a command like:

java -jar coderunner.jar -player java -cp java_example GoToNearestGoldPlayer -player java MyPlayer

The more detailed usage instructions describe more options for starting up the game, including how to capture a match as a trace file, how to debug your player during execution, etc.

Submitting your Player

During the coding phase of the competition, players can access the competition through the ICPC Challenge site at: http://icpc.baylor.edu/challenge/ From this page, participants will be able to login to the submission system, submit player code, and see how they are doing in preliminary matches. The latest working submission is considered the participant's current player. The final tournament and the nightly preliminary matches will use the most recently submitted player code that successfully builds.

All source code and supporting files for a player must be submitted at the same time. From the submission interface, select each source file that's part of your player, and then press the "Upload Files" button to upload the whole thing. If you forget to submit an important file, you will need to re-submit everything to have a working player.

Corrections and Clarifications

As the contest runs, we'll post a summary of corrections and clarifications here.

Additional Information

The ICPC Challenge website, http://icpc.baylor.edu/challenge/, will provide regularly updated information during the coding phase of the competition. If corrections or clarifications are needed, they will be linked from here.

About the ICPC Challenge

The ICPC Challenge is an effort to continue to offer the kinds of visual, interactive, competitive programming problems popularized by previous offerings of the Java Challenge. Teams implement player code that competes with other teams' players in a game-like simulation. A tournament among the players determines the winner.

ICPC Challenge on Facebook

If you like the challenge, join our community on Facebook. Visit our fanpage and become a fan.

2012 ICPC Challenge

For the 2012 ICPC World Finals, we offered the ICPC Bumper Boat Rally. Teams developed programs that would pilot their boats around an aquatic course. Players didn't know what the shape of the course would be or what their fleet of boats would be like until the start of the match. See the 2012 ICPC Challenge Page for a more detailed description of the problem and the winners. You can also watch videos of the tournament and even try out the problem yourself.

2011 ICPC Challenge

The 2011 ICPC finals featured an ICPC Challenge problem called coercion. Teams developed a program to try to claim territory on a map by pushing around markers and then using these to convert map regions to their own color. See the 2011 ICPC Challenge Page for a description of the problem and the winners. You can also check out preliminary standings from the coding phase of the competition and see the results of the final tournament. You can even watch videos of the matches. If you want to try the problem for yourself, you can download the game binary and write your own player.

2010 ICPC Challenge

The 2010 ICPC finals featured an ICPC Challenge problem appropriate to the February weather in Harbin, China. Teams developed a program to control a group of children in a snow-covered field. See the 2010 ICPC Challenge Page for a description of the problem and the winners.

2009 ICPC Challenge

The 2009 ICPC finals featured an offering of the ICPC Challenge. The 2009 ICPC Challenge Page describes the challenge problem from that year and gives the preliminary standings from the coding phase of the competition. You can see the results of the final tournament and even watch videos of the matches. If you want to try the problem for yourself, you can download the game binary and write your own player.

Questions and More Information

If you are excited about helping out with the ICPC Challenge, or if you have questions, please contact the ICPC Challenge Director, David Sturgill ().