We have created an image with the contest environment on it. The image is derived from the current Ubuntu Long Term Supoprt (LTS) release called Precise Pangolin. It is meant to be used in booting from a USB flash drive.


Download the image (1.6gb) and the USB installer from the image directory. The image is compressed with 7zip.

Plug in a flash drive that is at least 8gb in size.

Unzip the Windows USB installer and run the exe file.

Select the flash drive, select the binary image of the contest environment.

Click "Write to UFD". (Multiple USB flash drives can be written this way.)

When complete, the USB drive can be used to boot an Intel PC into running the contest image. The hardrive of the PC is unchanged and inaccessible. No password is needed to log in as a user. If the administrator logs in, the team number and printers IPs may be set.


In the contest environment, one does not have access to Google or other Internets hosts except those pertainting to the contest.

The compilers can be tested at the command line by running the script: testPrograms.sh

Software on the Contest Environment

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

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.