Warning: Booting the contest image may "wipe" out your PC. Be sure you know what you are doing.

We have created an image with the contest environment on it. The image is derived from Ubuntu and is meant to be installed on a USB flash drive.


The contest will be run on a GNU/Linux operating system. This ensures all programming teams will have the same environment. The world finals will also be conducted using a GNU/Linux operating system.

You may download a DVD ISO image, burn the image to a DVD, boot from it, write the image to a USB flash drive, and boot from that.

The instructions in another document explain the use of the image.

Software on the Contest Environment

Compiler Versions

The following screen shot shows the versions of each of the compilers installed on the contest image.

Some languages have significant differences according to version and platform, in particular, library support sometimes change. The implementations listed above are the only implementations used in the contest.

More details about compiling and running can be found at the Sample Contest WWW page. Included there is a script which can be downloaded and used to test if the contest environment has all the compilers properly installed.

Development Software

Contest Administration

The contest administration software is DomJudge.


The printing of program listings will be supported at the programming contest. Listings will be delivered to the teams (contestants may not pick-up their own output). It is not possible to guarantee that receiving printouts will always be fast. Please plan accordingly.

To print a file (to the default printer or class of printers), invoke the command:

pcpr filename
at the command line. Only files printed this way, will be delivered to the team.

By the way, printing is administered by CUPS.

lpstat -a     # a list of all printers
lpstat -d     # the name of the default printer
lpstat -c     # a list of printer classes
lpstat -o     # list all active print jobs
lpstat -t     # all printer information
lprm <job-id>

lpadmin -p hplj1 -v socket:// -E  # add & enable a network printer
lpadmin -p hlplj -L "FIT: in the backroom" -D "The first of two printers for the contest"
lpadmin -p hplj2 -v socket:// -E  # add & enable a network printer
lpadmin -p hplj1 -c contest      # create class 'contest' and add printer to it
lpadmin -p hplj2 -c contest      # add printer to class 'contest'


At the end of the contest on the program data will be preserved on the flash drives and hence available to you after the contest.