 |
|  |
Semifinal Round Rules
Important changes are in red.
Introduction
-
International Collegiate Contest in Informatics and
Programming (Contest) is conducted by Ministry of Education
and Science of the Russian Federation, Federal Agency of
Education, Education Committee of the Government of St.
Petersburg, St. Petersburg Youth Creativity Palace, St.
Petersburg State University of Information Technologies,
Mechanics and Optics and Altai State Technical University.
Semifinal round of the Contest is conducted by Saratov State University
within Southern Subregional competitions of ACM-ICPC, NEERC.
Mission
-
Main targets and goals of the Contest are propaganda of
scientific knowledge, developing students' interest toward
science, support of extracurricular courses, circles,
scientific societies, creating optimal conditions for
revealing gifted and talented students, their future
intellectual growth and professional career, developing of
the collaboration skills.
Introduction
-
The contest is a two-tiered competition among teams of
students representing institutions of higher education.
Teams first compete in Semifinal Rounds. The
winning teams from each Semifinal Round qualify to
advance to the Final Round.
Localization
-
The official language of the Contest is English. All written
contest materials will be in English.
-
The secondary language of the Contest is Russian. All announcements will be made in both Russian
and English.
-
The Director and the Organizing Committee of the Semifinal Rounds
may use as additional languages the languages of
the Semifinal Round participants. In this case, all
announcements must be made on Russian and each additional
language.
Team Composition
-
Teams of three students of the same institute of higher
education are admitted to participate in the Semifinal Rounds.
The Board of directors of the Contest holds right to
settle additional requirements towards the Contest
participants.
-
List of participants of the Semifinal Rounds are formed based on
applications from institutes of higher education.
-
In case of organizational or technical impossibility to
provide participation of all teams that applied, the
Semifinal Round Director of Semifinal Round has the right to
institute additional requirements towards the Semifinal Round
participants, provided that it is approved by the Contest
Director.
Conduct 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:
- Borland Delphi 7.0;
- Microsoft Visual Studio 2005 Express Edition, C/C++;
- Java 6;
- Far Manager v1.75;
-
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:
-
The jury uses the following commands to compile solutions:
| Compiler |
Command Line |
| Borland Delphi 7.0 |
dcc32 -cc <source file> |
| Visual C 2005 Express |
cl /O2 /TC <source file> |
| Visual C++ 2005 Express |
cl /O2 /EHs /TP <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.
-
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 Semifinal Round
-
The winner of the Semifinal Round is a University of
the best team.
-
The winning team of the Semifinal Round and the leading teams
are promoted to the next tier of the Contest. The
promotion is held according to quotas set by the
Board of Directors of Contest.
|
 |
|