Home Competition Rules News  
Rules

Competition rules

Overview of changes

Here is an overview of the major changes in the competition rules between IOI 2008 and IOI 2009:
  • On each competition day contestants will be given four tasks to complete in the five hours. Out of these four tasks, at least one will have detailed feedback enabled for the entire set of the official test cases.
  • Reactive tasks interact with standard input and standard output, instead of a provided library.
  • Computers used for the evaluation will be the same as contestant's computers.
  • Programming language is automatically selected based on the source file name extension except when explicitly set by the contestant.
  • Contestants cannot have multiple test executions at the same time. The standard error output is in test execution is not captured.
  • The detailed feedback will be blocked during the last 15 minutes of the competition instead of the last 30 minutes.
  • For the analysis mode the machines available for Leaders and Deputy Leaders will be used.
  • On each competition day the contestant can make up to 100 backups. The limit on the size of a single backup is 1MB. The total size of all backups can be up to 10MB.
  • Different compiler options and versions.
  • rhide is no longer available but there are few new editors.

IOI 2009 Competition Rules

These Competition Rules cover Competition Procedures and Judging Procedures. These Rules are not final, changes may be made, and the final version will be distributed at the first GA meeting of IOI 2009.

Delegation Leaders have the responsibility of ensuring that all members of their delegation fully understand these rules and abide by them.

 

Tasks

All of the tasks in IOI 2009 are designed to be algorithmic in nature. Efficiency plays an important role in some tasks. Whenever efficiency of an algorithm is important, test cases will be designed to differentiate between solutions with different levels of efficiency; the smallest test cases will be designed so that any reasonable correct solution for the tasks can solve them within the task constraints. Therefore, it is worthwhile to attempt a task even if the contestant does not know how to solve large test cases within the constraints.
Tasks may be of the following types:

  • Batch tasks: Solutions comprise a single source file of a computer program which reads data from the standard input (stdin) and writes its answer to the standard output (stdout).
  • Reactive tasks: Solutions comprise a single source file of a computer program which interacts with an "opponent" program provided by the organizers using the standard input and the standard output for reading data and writing results.
  • Output-only tasks: Solutions comprise a set of "output" data files. The contestants submit a zip or tgz archive file containing some or all the output data files.

For every task a memory limit will be specified. This limit is on the overall memory usage including executable code size, a stack, a heap, etc.

Batch tasks

The source program provided by the contestant must be contained in a single source file. The task statement will define:

  • the task to be solved,
  • the input and output data formats,
  • the input value ranges (when applicable),
  • the resource limitations for the computations (e.g. CPU time, memory limitations),
  • elements of the grading criteria (e.g. "In some of the official test data that worth 40 points, N will be up to 100"),
  • any other constraints on the program.

Reactive tasks

The source program provided by the contestant must be contained in a single source file. The task statement will specify:

  • the task to be solved,
  • the input and output data formats,
  • explanation of how to interact with the "opponent" program,
  • the resource limitations for the computations (e.g., CPU time, memory limitations),
  • elements of the grading criteria (e.g. "In some of the official test data that worth 40 points, N will be up to 100"),
  • any other constraints on the program.

Output-only tasks

The competition might include tasks for which input data is given to the contestant and the contestant is required to produce only the output data as a solution. If the contestant writes programs to help determine the output data, the programs must not be submitted with the solution. The input data will be provided in ASCII text files. For these tasks, the task statement will specify:

  • the task to be solved,
  • the structure of the input and output files,
  • information on obtaining the full set of official input files,
  • names of output files,
  • grading criteria.

The contestants should submit a zip or tgz archive with output files (only).

Input and output data

In all tasks, input and output data consist of one or more lines, each ending with an end-of-line character, including the last line. The end-of-line character in Linux is represented by the single character '\n' (ASCII code 10). Each line contains one or more space-separated items. An item is a string of printable non-white-space characters (ASCII code from 33 through 126, inclusive). An item may represent an integer or a general string; the meaning of each item will be given in the task description.

The format and limits for input and output data will be specified in the task description. The output data should be formatted strictly according to the task-specific instructions. The exact amount and type of whitespace you use to separate the elements in the output file will not matter in most cases. However, it is recommended to follow the output specification as precisely as possible.


Competition Procedures

Competition Schedule

There will be two competition days. On each competition day contestants will be given four tasks to complete in the five hours. Out of these four tasks, at least one will have detailed feedback enabled for the entire set of the official test cases. The schedule will be published on the official competition web site.

There will also be a two hour Practice Competition prior to the first competition day. The purpose of this practice round is to familiarize all participants with the environment and procedures. The practice tasks will be distributed in advance of the IOI. Contestants may bring printed solutions to the practice tasks, on paper only. All contestants are encouraged to take part in the Practice Competition round.

Quarantine

In order to protect the confidentiality of the tasks, all direct and indirect contacts and communication between contestants and delegation leaders are prohibited between the moment where tasks for a competition day are presented to the members of the GA and the end of the five-hour round on the following day. During this period the contestants are not allowed to communicate by any means, direct or indirect, with any member of the GA or anyone who has seen the tasks. The GA members are not allowed to communicate task-related information to anyone who is not a member of the GA. The contestants, the GA members and anyone else who has had access to the tasks must obey any instructions which restrict their access to specific parts of the IOI venue.

If a contestant violates the quarantine, he or she can be subject to disqualification. If some other person associated with a national delegation violates the quarantine, then all contestants of that delegation can be subjects to disqualification.

In order to eliminate any suspicion of cheating, contestants and team leaders should not use mobile phones and should switch off all wireless facilities in all devices during the quarantine.

Competition Equipment and Environment

All contest machines will be installed to boot in Linux. Microsoft Windows will not be available in the contest machines. The following packages will be installed:

  • Unubtu 8.04 i386; GNOME;

  • web browsers: Firefox;

  • editors: mcedit, joe, vim, kate, kwrite, kdevelop, emacs, xemacs, xwpe, lazarus, gedit, nano, scite, codeblocks, geany;

  • compilers: gcc >= 4.2, g++ >= 4.2, Free Pascal >= 2.2 with documentation;

  • debuggers: gdb, ddd;

  • STL documentation.

Hardware specification:

  • Chipset Intel Bearlake G31

  • CPU Core 2 Duo E2160 (1.80GHz, 1MB L2 Cache)

  • RAM 2.0GB DDR2

  • HDD 74GB but only 30GB will be available to contestants.

  • Standard keyboard (US layout)

In order to translate tasks, team leaders will be provided with computers with a version of Microsoft Word with some multi-language support. In addition, Ethernet ports will be available for leaders bringing laptops.

Competition Supplies

In the competition room, blank paper and writing utensils will be provided. On the competition days, contestants may not bring anything into the competition rooms, but:

  • clothing,
  • reasonable jewelry,
  • writing utensils,
  • simple wristwatches,
  • simple keyboards (see below),
  • small mascots (see below),
  • English dictionaries (see below).

If a contestant wants to bring a keyboard, small mascots or English dictionaries to the competition, these must be submitted to the technical staff during the practice competition day. Any of these will be checked and, if cleared, will be given to the contestant in the first competition day. After the first competition day, the contestant must leave these items on his or her workstation if he or she wants to use them during the second competition day. Once again these will be checked and, if cleared, will be given to the contestant in the second competition day. After the second competition day the contestant must take any of these items with him or her.

Any attempt to bring any other item into the competition room will be considered cheating. In particular, during competition rounds it is strictly prohibited to bring:

  • any computing equipment (e.g., keyboards, mice, calculators, organizers, PDAs, computers, calculator or "data bank" watches),
  • any books, manuals, written or printed materials,
  • any data storage medium (e.g., diskettes, CD-ROMs, "pen drives", compact flash/smart cards, micro-drives),
  • any communication devices (e.g., mobile phones, radios of any sort).

Any electronic or printed materials provided by the organizers during the Competition Round may be used by the contestants (e.g., a Users Guide to the Contest System, or any electronic documentation or reference manuals provided in the installed contest environment or on the provided Contest Server).

Starting the Competition

On the competition days, immediately after breakfast ends, contestants will be admitted to the competition hall. All contestants must wear their ID badges during the competition. Each contestant will have a pre-assigned workstation; this information will be posted in the morning of the competition day. Contestants should be in their seats by at least 5 minutes prior to the start of the competition. On the way to their computers contestants will be checked to verify that they are only bringing allowed items into the competition hall. Small mascots and dictionaries must be submitted to the technical staff during the practice competition day, check Competition supplies section. Contestants must find their assigned computer, sit down, and wait for the competition to begin without touching any:

  • computers,
  • keyboards,
  • mice,
  • other competition materials including tasks.

The beginning of the competition will be marked by an audible start signal, after which the contestant may use any of the above items.

Clarification Requests

During the first two hours and a half of competition, contestants may submit written questions concerning any ambiguities or items needing clarification in the competition tasks. After this period comments may be received, but no answers will be given. Questions and comments must be submitted on the provided Clarification Request Forms, expressed either in the contestant's native language or in English. If required, delegation leaders will translate their contestants' questions into English after they are submitted and before they are sent to the Scientific Committee. The Scientific Committee will respond to every question submitted by the contestants. Since this might take some time, contestants should continue working while waiting for the answer to their questions. Contestants should phrase their questions so that a yes/no answer will be meaningful. Questions will be answered with one of the following:

  • "YES"
  • "NO"
  • "ANSWERED IN TASK DESCRIPTION (EXPLICITLY OR IMPLICITLY)" - The task description contains sufficient information. The contestant should read it again carefully.
  • "INVALID QUESTION" - The question is most likely not phrased so that a yes/no answer would be meaningful. The contestant is encouraged to rephrase the question.
  • "NO COMMENT" - The contestant is asking for information that the Scientific Committee cannot give.

Contestants will not be involved in or exposed to discussion regarding their questions. However, in cases where the Scientific Committee feels that the contestant does not understand the task statement, English text which helps clarify the task may be added to the response, and if necessary, translated by the contestant's Delegation Leader into the language in which the question was originally posed.

Competition Server

The IOI competition takes place in a distributed environment in which each competitor has his or her own workstation for development and initial testing. Grading and evaluation take place on the Competition Server, which provides a similar execution environment to that of the contestant workstation. Тhe hardware of the Competition Server is the same as that of the contestant's workstations.

Each contestant's workstation has only Linux installed. A set of software development tools will be available. These tools are used to develop solutions to the competition tasks. There is no restriction on the number of times a program may be edited, compiled, and run on the workstation.

The workstations will have network access to the Competition Server, to a web server which provides documentation, to relevant task data, and facilities such as printing, test execution, and solution submission.

Facilities provided by the Competition Server are described next. These descriptions as well as the whole competition rules will be available on-line on the Competition Server.

The workstations will neither have access to each other nor the Internet. Any attempt to access another competitor's computer or the Internet will be considered cheating. Attempts to tamper with the Competition server, such as probing the server with customized URL's, will also be considered cheating.

Printing

Contestants are allowed to print only text files during the competition. After a contestant requests that a document be printed via the Contest Server interface, the support staff