Regional Contest Rules
Important changes are in red.
Introduction
-
International Collegiate Programming Contest (Contest) is
conducted by Association of Computer Machinery (ACM) and
sponsored by IBM.
Northeastern Europe Regional Contest is conducted by
Ministry of Education and Science of the Russian Federation,
St. Petersburg National Research University of
Information Technologies, Mechanics and Optics and Altai
State Technical University.
- Regional Contest is simultaneously conduncting at:
- Saint Petersburg — St. Petersburg State University of Information Technologies, Mechanics and Optics and St. Petersburg Youth Creativity Palace;
- Barnaul — Altai State Technical University;
- Tashkent — Tashkent University of Information Technologies;
- Georgia.
Mission
-
The ACM International Collegiate Programming Contest (ICPC)
provides college students with opportunities to interact
with students from other universities and to sharpen and
demonstrate their problem-solving, programming, and teamwork
skills. The contest provides a platform for ACM, industry,
and academia to encourage and focus public attention on the
next generation of computing professionals as they pursue
excellence.
Introduction
-
The contest is a multi-tiered competition among teams of
students representing institutions of higher education.
Teams first compete in Subregional Contests. The
winning teams from each subregional contest qualify to
advance to the Regional Contest (Northeastern
European Regional Contest, November). The winning teams from
each regional contest qualify to advance to the ACM
International Collegiate Programming Contest World
Finals.
Localization
-
The official language of the Contest is English. All written
contest materials will be in English.
-
The secondary language of the Regional Contest is Russian. All announcements will be made in both Russian
and English.
-
The Director and the Organizing Committee of the Subregional Contests
may use as additional languages the languages of
the Subregional Contest participants. In this case, all
announcements must be made on Russian and each additional
language.
Team Composition
-
A representative of the sponsoring institution of higher
education, typically a faculty member, must serve as or
designate the team coach. The coach certifies the
eligibility of contestants and serves as the official point
of contact with the team prior to and during contest
activities. A team may only have one coach.
-
The coach must fully register teams in the
ICPC Registration System
7 days before the subregional contest. A team is not
eligible to compete in the regional contest until the
regional contest director has accepted the team in the web
registration system. Teams failing to comply with any of
these requirements will be ruled ineligible to compete. Only
registered reserves may be substituted for contestants. Such
substitutions must be entered in the ICPC Registration
System by the regional contest director before the contest
begins.
-
Each team consists of three contestants and may have at most
one official reserve. Teams with fewer than three are
ineligible. Each contestant and reserve must satisfy the
following competitor eligibility requirements.
-
A student must be willing and able to compete in the World
Finals.
-
A student must be enrolled in a degree program at the
sponsoring institution with at least a half-time load. This
rule is not to be construed as disqualifying co-op students,
exchange students, or students serving internships.
-
A student may compete for only one institution during a
contest year.
-
A student who has competed in two World Finals is not eligible to compete.
-
A student who has competed in five Regional Contests is not
eligible to compete. Subregional contest and Regional
contest for which that Subregional contest is qualifying
count as one contest for this rule. (Therefore a competitor
may totally compete in five seasons at most).
-
Each competitor must satisfy at least one of the following:
-
be born not earlier than January 1, 1988;
-
start his/her first post-secondary study not earlier than January 1, 2007
-
In the event of qualifying to advance to the World Finals,
competitors must be prepared to provide a history of work
and educational experience including a transcript to
substantiate eligibility.
-
In case of organizational or technical impossibility to
provide participation of all teams that applied, the
Subregional Contest Director of Subregional Contest has the right to
institute additional requirements towards the Subregional Contest
participants, provided that it is approved by the Regional Contest
Director.
-
Winners of Subregional Contests and other teams are admitted to
participate in the Regional Contest according to Teams Selection
Regulations approved by the Board of directors of the
Regional Contest.
Procedure of organization and conducting of the Contest
-
The duration of one round is five hours. The Executive Committee of the
Jury holds right to prolong the duration of the round in case of
unforeseen circumstances. Should the contest duration be altered, every attempt
will be made to notify participants in a timely and uniform manner.
-
On the round each team is provided with one personal
computer and the set of several problems.
-
At least six problems and at most twelve problems will be proposed
for solution. As far as possible, problems will avoid dependence on
detailed knowledge of a particular applications area or particular
contest language.
-
Participants' computer configuration and the set of supported
programming languages are determined by the Technical Regulations.
-
During the competition, participants solve the proposed problems. A
solution to a problem is a program written in one of the supported
programming languages. The program must not contain auxiliary modules or
files. It is allowed to solve different problems using different
supported programming languages.
-
Submission evaluation is conducted during the competition. Using
special software, the teams submit their problems for evaluation. The
Executive Committee of the Jury compiles the submitted programs using
command line compilers and checks the programs. Participants should
include compiler directives in the submitted program file.
-
Participants' programs are checked against a set of tests
prepared by the Executive Committee of the Jury prior to the
round. A program is accepted if it passes all tests.
-
Execution time and memory for each program on each test are limited. The
programs that exceed these limits are considered inefficient for the
given problem. In such case, the test is considered not to be passed,
thus the program is rejected. The execution time limit and the
accessible memory limit are indicated in the problem statements.
-
The submitted program must output the same answers on the same tests,
independent of the time of the execution and the program environment.
The submitted programs can be executed any number of times and the worst
outcome can be counted.
-
Participants may bring and use unannotated natural language
dictionaries (except electronic ones), blank sheets of paper
and instruments for writing only. Contestants
may not bring and use any books (except
dictionaries), reference manuals, electronic dictionaries,
program listings, any machine-readable information (software
or data on any kind of storage), computing devices
(handhelds, portable PCs, notebooks, calculators), mobile
phones or any other communication devices.
-
During the round, participants are only allowed to communicate with
members of their team, members of the Executive Committee of the Jury
and the Technical Committee.
-
Participants may use network printer during the contest. The
printout will be delivered to the team by representatives of
the Technical Committee.
-
A team may be disqualified by the Jury for any activity that
violates contest Regulations and Rules or jeopardizes the
contest such as dislodging extension cords, unauthorized
modification of contest equipment, distracting behavior.
-
Executive Committee of the Jury holds exclusive right to determine
correctness of programs against tests, to evaluate programs, to
determine the winners and to disqualify participants. The Executive
Committee of the Jury solves questions arising in case of unforeseen
events and circumstances.
Computer Configuration
-
Each team is supplied with one computer not lower than
Pentium III with installed operating system Windows XP
or newer, connected to the local network.
-
The following software is available to each team:
- Microsoft Visual Studio 2010 Express Edition, C/C++;
- MinGW (GNU C/C++ 4.6.1);
- Java 6 SDK Update 27;
- Far Manager v2.0;
- Eclipse JDT+CDT 3.7;
- Code::Blocks 10.05
-
Technical Committee holds right to install patches and updates of the
listed software.
-
Login and password for the operating system are indicated in
the Contestant Handbook.
Programming languages
-
A solution to a problem is a program written in one of the
following programming languages:
-
Pascal will not be provided at NEERC.
-
The jury uses the following commands to compile solutions:
| Compiler | Command Line |
| Visual C 2005 Express | cl /O2 /TC <source file> |
| GNU C 4.4.0 (MinGW) | gcc -O2 -Wl,--stack=67108864 -x c <source file> |
| Visual C++ 2005 Express | cl /O2 /EHs /TP <source file> |
| GNU C++ 4.4.0 (MinGW) | g++ -O2 -Wl,--stack=67108864 -x c++ <source file> |
| Java 6 SDK Update 16 | javac <source file> |
Run evaluation
-
Solutions to problems that were submitted for judging are
called runs. Immediately after submission of any
run, the team may continue working on other problems.
-
The size of the file with the run may not exceed 256KB.
-
Each run is judged as accepted or rejected.
-
The run is evaluated by executing it on a secret set of
tests, common for all participants. A run is accepted only if
it gives correct answers to all tests.
- Runs are not allowed to:
- access the network;
- perform any I/O except for opening, closing, reading, and writing of files and standard streams that are explicitly specified in the problem statement;
- attack system security;
- execute other programs and create new processes;
- change file system permissions;
- work with subdirectories;
- create or manipulate any GUI resources (windows, dialog boxes, etc.);
- work with external devices (sound, printer, etc.);
-
do anything else that can stir the evaluating process and
the Contest.
-
The Contest software uses different methods to reveal
violations of the above restrictions.
-
Evaluation is performed automatically, that is why a program
should respect formats of input and output files described
in the problem statement. If not explicitly stated
otherwise, all input data are considered to be correct and
satisfying all restrictions from the problem statement.
-
The memory limit is the maximum amount of memory
that a run may utilize.
-
The time limit is the maximum execution time per
test.
-
Time and memory limit for each problem is specified in
problem statements. A run is not accepted if the program
exceeds these limits.
-
As soon as the run is evaluated, a team receives a message
with the evaluation results. This message will be shown on
the screen and repeated in a hardcopy form. A team is
informed whether the run is accepted or not. If the run is
rejected the error type and the test number are indicated.
-
All tests cases are numbered from one. The first test cases
in the test set are the sample tests from the problem
statement ordered in the same way as in problem statement.
The following tests are ordered with the idea to make easier
test cases come before harder ones, although there are
no guarantees.
-
The possible outcomes are listed in the following table.
| Outcome | Test Number | Comment | Possible Reasons |
|
Compilation error
| No | Executable file was not created after compilation. |
- Syntax error in the program;
- wrong file extension or language specified.
|
|
Security violation
| Yes | The program tried to violate the contest rules. |
- Error in the program;
- purposeful rules violation (the violating team is disqualified in this case).
|
|
Time limit exceeded
| Yes | The program exceeds the time limit. |
- Inefficient solution;
- error in the program.
|
|
Memory limit exceeded
| Yes | The program exceeds the memory limit. |
- Inefficient solution;
- error in the program.
|
|
Runtime error
| Yes |
The program terminates with non-zero exit code or throws an
uncaught OS exception.
|
- Runtime error;
- missing 'return 0' statement in C/C++ main function;
- 'return (non-zero)' statement in C/C++ main function;
- 'System.exit(non-zero)' in Java;
- uncaught exception.
|
|
Presentation error
| Yes |
The checker cannot check output because it
does not match the format specified in the problem
statement.
|
- Output format is not correct;
- no output or wrong output file name.
|
|
Wrong answer
| Yes | The answer is not correct. |
- The algorithm is not correct.
|
|
Accepted
| No | Run is accepted. |
|
-
The possible outcomes in the table are listed in their order
of priority. For example, if runtime error has occurred,
then output is not checked.
-
Evaluation process may be stopped several minutes before the
end of the Contest. All runs submitted after this moment
will be evaluated just after the end of the Contest.
-
The Executive Committee of the Jury will publish all
submitted runs after the end of the Contest.
-
The Executive Committee of the Jury will publish the
official test set that was used to evaluate participants'
solutions after the end of the Contest.
Clarification Requests
-
During the Contest the participants can make
Clarification Requests on the problem statements.
The clarification request must exactly identify the part of
the problem statement that the team considers ambiguous
together with the possible interpretations. The Jury
encourages participants to use the sample input and output
for resolving (apparent) ambiguities.
-
Clarification requests are accepted only in English.
A team fills out a Clarification Request form and
delivers it to the Jury via the representatives of the
Technical Committee.
-
The representatives of the Technical Committee deliver
blank
Clarification Request
forms by request.
-
When the Executive Committee of the Jury responds to the
clarification request, the team receives its Clarification
Request form with the answer. If the clarification request
is incorrect or the answer is clear from the problem
description, the Jury answers No comments. If the
Jury agrees that there is an ambiguity or error in the
problem statement, a clarification will be issued to all
teams.
Practice Session
-
During the practice session teams become familiar with the contest
environment and the contest software solving sample problems
(1–3 simple problems).
-
During the practice session teams may not store any
source code anywhere except working directory.
-
During the practice session teams may not attach any devices to the
computer or alter its hardware configuration.
-
The results of the practice session are not taken into
consideration when determining the Contest standings.
However, the Executive Committee of the Jury may disqualify
participants from the Contest any team violating the
contest rules during the practice session.
Scoring of a Contest
-
A team that has solved more problems is placed higher.
-
In case of equality in the number of solved problems, the team that has
a smaller penalty time is placed higher.
-
In case of equality in the number of solved problems and
the penalty time, the team that has submitted its last
accepted run first, is placed higher.
-
The penalty time is the sum of the time consumed for each
problem solved. The time consumed for a solved problem is
the time elapsed from the beginning of the contest to the
submittal of the accepted run plus 20 penalty minutes for
every rejected run for that problem regardless of submittal
time. There is no penalty time consumed for a problem that
is not solved.
-
Scoring of the team is based only on the time of the first
accepted run for each problem.
The results of the Regional Contest
-
According to the standings, the Regional Contest winner team is
determined. Teams in the leading places are awarded diplomas
indicating the places that they achieved.
|