Version: 1.01
Please first check the general information about the competition programming environment from the Competition Rules.

The main environment for the contest is Linux. Linux is available as a programming environment (specifications below) and also the servers and evaluation (grading) runs on Linux. However, we provide the contestants with dual-boot computers where you can program either in Linux or in Windows environment.

The evaluation is based on source-code submission and the evaluation system compiles the submitted source code. As a consequence, also the programs written in the Windows environment are re-compiled for evaluation in Linux (using the same compiler). This is something that all contestants using Windows must be aware of. For example, uninitialized variables may cause undefined behavior when executing for the evaluation.

We favor fairly standard operating system installations. But we may modify the installations for hardware support and security fix.

The compilers used in the competition are GCC for C and C++ programs and Freepascal for Pascal programs.

Generally, the installations are designed for the following main alternatives:

    1.  Pascal as the programming language, Freepascal compiler, Freepascal IDE.
    2.  C/C++ as the programming language, GCC compiler, RHIDE IDE.
    3.  Editors(emacs, vim, ...), command-line compilation/debugging,
         a graphical front end "ddd" to debugging.

Option 3 is targeted primarily for Linux, although it is possible to use Windows Edit and command-line compilation.
The specification is: a PC with a 1.7 GHz Pentium 4 processor, 256 MB RAM, a standard US keyboard, a mouse, and a 19 inch CRT.
For Linux, we are using Debian release 3.0 `woody'. You can get more information from Debian's home pages at The tasks are chosen by tasksel with the following choices:

     X window system
     desktop environment
     C and C++

And additional packages are chosen by dselect:

     ddd - The Data Display Debugger, a graphical debugger frontend.
     mc - Midnight Commander - A powerful file manager. - normal version
     mozilla - Mozilla Web Browser - dummy package
     vim - Vi IMproved - enhanced vi editor
     vim-gtk - Vi IMproved - GTK version
     exuberant-ctags - multi-language reimplementation of ctags
     emacs21 - The GNU Emacs editor.
     emacs21-el - GNU Emacs LISP (.el) files.
     joe - user friendly full screen text editor

GCC on Linux:

We use gcc-2.95 which is installed as a part of the Linux Debian woody.

You can learn about the availability of various GCC versions through If you install a Linux version and include development tools, then you are extremely likely to get a GCC version.

Pascal on Linux:

You can get the Freepascal software through, which shows a number of mirror sites. We have installed the binary version of freepascal 1.0.6. You can download fpc-1.0.6.ELF.tar (14.3 MB) file, which contains a standard tar archive, with an installation script. After untarring the archive, you can run the installation script in the created directory by issuing the command "sh".

RHIDE for Linux:

The debian woody doesn't contain the RHIDE package. You can download the tarball file from

Pascal IDE for Linux:

You can download the snapshot version of Linux IDE with debugging support. You should be able to download it at the development section from

Linux and Cygwin:

You may want to learn about using Linux and do not want to install it. The GNU tools are in the core of the Linux facilities, and you can obtain a much larger collection of them from the DJGPP package (see Windows/gcc). A collection of GNU facilities can also be obtained from This Cygwin package has even more of the feel of Linux, as they are being used through the bash shell, which is common in Linux systems.

Note that the Cygwin is not a part of the the competition environment.
We are using Windows XP. We expect support for the hardware to be available in Windows XP. You can get information about Windows from

The windows environment includes vim and emacs as well as notepad.

GCC on Windows:

The GCC compiler version we are using in the windows environment is GCC 2.95.3.

WARNING: If you install Freepascal and GCC (e.g. as in DJGPP) in the same Windows installation, be sure to have DJGPP in your path before Freepascal, or GCC won't work. This seems to be because it finds cpp.exe from the pascal binaries and then thinks that the pascal binary directory is the place for its compiler binaries, which it subsequently fails to find.

For windows, we are using the DJGPP. You can find out about DJGPP and downloading it from

Our current installation includes the following packages:

     v2/ - DJGPP Copyright info
     v2/ - DJGPP Basic Development Kit
     v2/ - Frequently Asked Questions
     v2/readme.1st - Installation instructions
     v2gnu/ - Basic assembler, linker
     v2gnu/ - GNU fileutils
     v2gnu/ - Basic GCC compiler
     v2gnu/ - GNU debugger
     v2gnu/ - C++ compiler
     v2gnu/ - GNU Grep
     v2gnu/ - GNU Less
     v2gnu/ - Make (processes makefiles)
     v2gnu/ - Info file viewer - RHIDE snapshot (from

Pascal on Windows:

We have installed Freepascal 1.0.6. See for obtaining a copy. If you install the full version, you just first unzip the file and run install.exe.

You can use Freepascal with its own IDE.