CEOI 2001 Competition rules

Version of August 11, 2001

This page contains the competition rules for CEOI 2001, describing the competition procedures and (roughly) the grading procedures. The rules are written in a form which is addressed to the contestant.

The current (i.e. final) version of the rules were discussed and approved by the General Assembly (GA) at its first meeting.

Competition Dates
Competition Equipment
Programming Environment
Additional tools
Competition Tasks
Input and Output Data
The Course of Competition

Starting the competition
Consistency checking of solutions
Submission of solutions
Ending the competition
Other Information

Competition Dates

CEOI 2001 takes place from Friday, 10 August (Arrival Day) to Friday, 17 August (Departure Day). The First Competition Day is Sunday, 12 August, and the Second Competition Day is Tuesday, 14 August. On both competition days you will be given three tasks to complete in five hours from 8:00 to 13:00 (CET DST).

There is also a practice period in the computer labs on Saturday, 11 August from 9:00 to 10:30. All contestants are advised to get used to the local environment in the practice period.

Competition Equipment

The competition computers have either 600 MHz Celeron II or 500 MHz Pentium III processors, 128 MB RAM, a standard Hungarian keyboard with optional key stickers, a mouse, and a color screen.

Blank writing paper, a pen, and two diskettes (for backup and for printing) per day will be provided for you. You may take pens, pencils and erasers, but may not take any other material, especially diskettes, calculators, written or printed materials, communication devices (such as mobile phones) into the competition area. A contestant who is in possession of this type of material in the competition room may be disqualified from the competition.

Programming environment

Each computer has a Windows 98 SE installation. Items may have been removed from the standard installation: it may have been changed in order to improve security or make it smaller.

The programs installed for the competition are set up in such a way that they can be found on the users' path (ie. no extra setup is needed to use the tools). The Windows platform includes the official compilers of CEOI 2001, i.e.

  • Gcc compiler version 2.95.3, and
  • Freepascal (fpc) compiler version 1.0.4.

The contestant should be familiar with the programming package of his/her choice (including the use of libraries or units), and be able to execute programs, change the working directory and manage files.

The Windows environment includes tools for program development:

  • Rhide version, which uses the gcc compiler,
  • Freepascal ide version 0.9.1,
  • Gdb debugger version 5.0,
  • Borland Pascal 7.0,
  • Borland C++ 3.0.
The Borland tools are installed because the Integrated Development Environments (IDEs) for the competition compilers are less familiar for the contestants, and may have stability problems. The Borland tools, however, carry with them the DOS limitations; most importantly, the memory is limited.

Gcc is installed as a part of the DJGPP packages, and the respective standard info files are also installed. Rhide also comes with info files. Freepascal is installed as the "full" version. Freepascal documentation is also available in PDF, which may be read with the installed Acrobat Reader.

The Windows installation also includes the MS-DOS editor Edit, the standard Microsoft Notepad and Wordpad.

Additional tools

Additional tools may be available for assisting the contestants. Their description, if any, will be included in or attached to the task desciptions.

There may be some notes and other texts which will only be made available for translation along with the task description in the respective GA meetings.

Competition Tasks

All tasks involve computations of algorithmic nature. The solution for each task is a single source file of a program which performs the required computations.

Whenever efficiency of the computation is important, there will be at least one test input where an inefficient program can also get some scores.

Each task has a title and a short name. The short names are used to identify files and folders (directories).

If, as an example, the tasks are called brain, mines, and tents, then your computer has three folders d:\brain, d:\mines, and d:\tents. Additional information may be stored in the folder d:\.

The program's source code, to be provided by the contestant, must be in a single file, and must be stored in the respective directory. E.g. the Pascal source code of the task tents must be stored as d:\tents\tents.pas, and the C++ source code of the task brain must be stored as d:\brain\brain.cpp.

Warning: For grading, only the source files found in the contestant's working directory and additionally all the files belonging to the grading environment will be copied into a fresh directory. Any other file that is found in the contestant's working directory, will be archived, but none of them will be used for garding.

Each task's description will specify

  • the input and output file names,
  • the input and output data format and value ranges,
  • the resource limitations for the computations (e.g. cpu time, memory), and
  • possible other constraints to the program behaviour.

All file and folder names must be composed of lowercase letters and the dot (.). If your program tries to access a file, and the name your program uses contains uppercase letters, your program will fail at the time of grading (under linux!), and gets no score. Be careful!

Input and Output Data

In all tasks, input and output data consists of a sequence of items. An item is a string of printable, non-space characters (ASCII code from 33 through 126). An item may represent an integer or a string.

Items are separated by a space or an end-of-line. The format of the input data will be specified in the task specification.

All input data used for grading is syntactically correct and valid. Your program need not check its validity.


A curfew (or quarantine) begins at the start of a GA meeting where the tasks for a competition day are chosen, and ends when the competition itself ends on the following day. During the curfew the contestants are not allowed to communicate by any means with any people who has either attended this meeting, or otherwise received information about the tasks.

Also, the contestants and the people taking part in the meeting must obey any instructions which limit the area where they are allowed to stay. The people authorised to attend the meeting are not allowed to communicate task-related information to other people before the start of the competition.

A contestant breaking this rule may be disqualified from the competition. If some other person associated with a national delegation breaks this rule, then all contestants of the respective delegation may be disqualified from the competition.

The Course of Competition

Starting the competition
You are taken to the competition room before the competition starts. The computers will be switched on. Each contestant is designated a single computer.

A competition envelope containing the task definitions and other necessary competition information will be in front of the computer. At the starting whistle and a verbal announcement ("the competition begins"), you may open your competition envelope and operate your computer.

During the first hour of competition, you may submit written questions concerning any possible obscurities or ambiguities in the competition task descriptions. The reply to any question will be either "Yes", or "No" or "No Comment".

You must submit your question(s) in English or in your native language on the Question Form provided. If necessary, your delegation leader will translate your question(s).

The Scientific Committee will answer every question submitted by the contestants. This may take some time. Therefore, you should continue working while waiting for the answer to your question(s). You will not be involved in discussion.

You may ask the lab supervisors for assistance at any time. The supervisors will not answer questions about the competition tasks, but will deliver your question forms, help you to find the toilet or refreshments, and assist to solve possible troubles with the computer.
You will be able to get printouts. You have to copy the file(s) you need to the root directory of one of the floppies, and hand it over to a supervisor. He/she will take the printouts back to you. You may expect a small delay.
You will be able to make backups onto the backup floppy. We strongly advise you to do so regularly.
Consistency checking of solutions
You will find a tool (d:\check.exe) that helps you check the correct usage and spelling of some file and folder names.

Recall: All names must consist of lowercase letters and the dot (.); they have to follow the specification; the files must be stored in the proper folders, etc.

Warning: check.exe helps you find simple errors but do not rely entirely on it! A thorough visual inspection of your files and folders is highly recommended.

Submission of solutions
For identification purposes the first line(s) of your source code must be a commentary, containing at least your name and your identifier (the one which is printed on your badge and on the sticker on your computer's monitor).

Actually, in order to submit your solutions, nothing special has to be done. Just leave the source file in the appropriate directory.

Please check before the end of the competition if

  • all file names and all folder names follow precisely the specification given in the task description,
  • all source files that you want to submit as your solution are available in the properly named task directories (typically, one source file per task directory).
As an example, if your source file is called brain.c then it must be accessible as d:\brain\brain.c.

Warning: If a task directory contains more source files that follow the naming convention, only one of them will be graded. As an example, assume that the task directory being investigated is d:\brain. Now, if the source file d:\brain\brain.pas exists, then it will be graded, else if the source file d:\brain\brain.c exists, then it will be graded, else if the source file d:\brain\brain.cpp exists, then it will be graded, else nothing will be graded.

Warning: A single source file per task will only be considered for grading! No other files found in the task directory will be used for grading, or be available to your program during grading.

Ending the competition
You will be warned at 15 minutes (3 short whistles and the verbal announcement "fifteen minutes"), 5 minutes (2 short whistles and the verbal announcement "five minutes") and 1 minute (1 short whistle and the verbal announcement "one minute") before the end of the competition.

After the end signal (3 long whistles and the verbal announcement "end of competition"), you must immediately stop working. Do not switch off your computer, do not touch any part of it. Wait for instructions. When you are told, you have to leave the competition room.

You have to leave the backup diskettes and - after the first competiton day - the pen on the table. On both days, you may take your competition envelope, including your notes, with you.


The grading system evaluates the submitted tasks after the competition. For grading, only the source files you have submitted will be re-compiled and executed under Linux using the resource limitations specified for the tasks.

The compiler options for Pascal programs are So -O2 -XS, and for C and C++ programs are -O2 -static.

The evaluation forms and evaluation data will be made available to the delegations in due time. Complaints about scoring are to be submitted on the Appeal Form to the Scientific Committee.

Other information

The contestant should not change
  • the drive sharing settings,
  • the file and printer sharing settings, or
  • any other network settings,
because any change may needlessly delay the grading procedure. Note that during competition, the computers are NOT connected to the network.

The contestant is supposed to use exclusively drive d: while all system files are stored on drive c:. In case of a system crash drive c: will be wiped out, and the whole system will be reinstalled. Reinstallation will not affect drive d:.

A contestant

  • trying to interfere with other contestants' activities,
  • trying to break the installations or grading facilities, or
  • trying to harmfully interfere with the course of the competition in any way
may be disqualified from the competition.

Your programs

  • are not allowed to access the computer network,
  • are not allowed to manipulate processes, signals, timers, sockets in the computer, or issue low-level system calls,
  • are not allowed to attack system security or the grading system,
  • are not allowed to change filesystem permissions, and
  • are not allowed to read filesystem information,
and your submitted programs
  • are not allowed to create files other than those required in the task definition.
If your programs try any of this, you may be disqualified from the competition.

Gyula Horvath
Last modified: Sat Aug 11 17:00:00 CET DST 2001