ACM NorthEastern European Regional Contest, 1996-97

Detailed rules

This page describes the complete rules of the competition.
Back to HOME PAGE

Contest environment

                 

Competition will take place on PCs with at least 4Mb of RAM, Intel 386-586 processor and MS DOS 6.2x-7.0. All computers will be connected to the network "Novell Netware".

Following programming systems are accepted:

  • Borland C++ 3.1
  • Borland Pascal 7.0

These systems will be completely installed on each computer with no Turbo Vision support. Built-in examples and on-line help will be also available. It is strongly prohibited to use unauthorized disks (hard and floppy), programs and libraries.

On the request of competitors other compilers may be added. To make it possible, organizing committee should be informed not later than 1 month before the contest. A compiler will be accepted in the only case when organizing committee has its registered version. All other teams will also be able to use this compiler.

Conduct of the contest

                 

At least 5 problems will be proposed for solution. The contest lasts 5 to 6 hours, but the Jury has the authority to lengthen the contest in the case of unforeseen difficulties.

Participants may bring and use dictionaries, blank sheets of paper and instruments for writing ONLY. Participants MAY NOT bring and use books, reference manuals, electronic dictionaries, program listings, etc. It is also prohibited to use machine-readable information, private PCs, portables, notebooks and calculators.

During the contest a team solves the proposed problems. A solution is a program (single source file, not executable) on one of allowed programming languages. A program cannot contain other units. Different problems may be solved using different programming languages.

Evaluation is made during the contest. Using Evaluating Software participants will submit their solutions to the Jury. Jury compiles the solution and checks it. Jury will use command-line compilers: TPC.EXE and BCC.EXE. Participants must put all compiler directives inside source files. There is only one memory model available with TPC compiler. C/C++ solutions will be compiled for "Large" memory model, which is similar to the model used in Pascal.

Each problem will require that input data is taken from the input file(s) which name(s) are determined in the problem statement. The program must create output file(s) with given name(s). All input and output files are placed in the current DOS directory. The program should not write to the screen.

It is allowed to create temporary files in the current directory. Evaluating software will delete these files after each test run.

The following can not be used in the solutions:

  1. Extended memory and protected mode.
  2. In-line assembler instructions.
  3. Reading/writing interrupt vectors.
  4. Creating subdirectories.
  5. Any input and output except file open/close, read/write.
  6. Communications with Network.
  7. Any other thing which can stir the evaluating process and the Contest.

Evaluating software uses different algorithms to reveal violation of the above restrictions. Violating team will be disqualified.

A solution is checking by running through a secret set of tests, common for all competitors. A solution is accepted only if it gives correct answers to all tests.

Testing is held automatically, that is why a program should respect formats of input and output files described in the problem text. If not stated otherwise, all input data are considered correct and satisfying all restrictions from the problem text.

In each problem statement the maximum execution time per one test will be indicated. A solution is not accepted if the program exceeds this time.

When ready, a team sends the solution to the Jury for checking by local network. Afterwards the team may continue to work on other problems. After 1 or 2 minutes, when the Jury have checked the solution, a team receives a message with testing results. This message will be shown on the screen and repeated in a paper form (see "Run envelope" example below). A team is informed whether the solution is accepted or not. If the solution is not accepted, the type of error and the test number will be indicated:

Error type Test # Comments Possible cause
1. Compilation error no After compilation the executable file was not created. 1) Syntax error in the program; 2) Wrong file extension, e.g. "cpp" for pascal program.
2. Incorrect answer yes The answer is not correct. The algorythm is not correct
3. Time limit exceeded yes The program exceeds allowed time limit. 1) Not efficient solution; 2) Error in program.
4. Runtime error yes The program terminated with non-zero exit code. The output is not checked in this case. 1) Runtime error; 2) No "return (0)" statement in C/C++ program; 3) "HALT (non-zero)" instruction in pascal or "return (non-zero)" instruction in C/C++ program.
5. Presentation error yes Evaluating software can not check output because it does not match the appropriate format. 1) Output format is not correct; 2) No output or wrong output file name.

All tests are run in the constant order starting with the simplest and ending with the hardest. The test number is the first test which was not accepted. For example, if jury reports "Time limit exceeded on test number 9", it means that:

  1. Tests 1 through 8 were accepted.
  2. More difficult than previous 8 tests, test number 9 caused program to exceed time limit.

In this case we can guess that the algorythm is correct but not efficient. If jury reports "Presentation error on test number 1", a team can guess that they solved one problem and submitted it as another one.

Example of "Run envelope" sheet:

During the contest participants may ask questions on problem statements. A question should be of "YES"/"NO" type. A team fills out a "Question form" and delivers it to the jury. When the jury has replied to the question, the team receives "Question form" with the answer. If a question is incorrect or the answer is clear from the task description, the jury answers "No comments". Jury may distribute the answer among all participating teams.

Example of "Question form" sheet:

During the contest participants can use network printer. The printout will be delivered to the team shortly after it has been printed.

The team which solved more problems than any other team is considered to be a winner. In case of equal number of solved problems, the team with the lowest penalty time wins. A penalty time is a sum of time of solving of each problem plus 20 minutes for each unsuccessful attempt for solved problem.

During the competition participants and observers will see preliminary results of all teams. Participants will see the results on their computers, observers - on the monitor outside the competition area.

An example below shows format of the results table:

Team A B C D E F Solved Time Rank
Team J + + +1 +3 +1 +1 6 1093 1
Team X + + +6 + +3 +1 6 1363 2
Team E + + +4 + +1 -2 5 720 3
Team W + . +3 +3 +1 -6 4 839 4
Team Q + . . +3 +5 . 3 895 5
Team Z + . . -2 + . 2 307 6
Team P + . -2 . +1 . 2 378 7
Team T + . +5 . . -3 2 659 8
Team A + . -2 . -4 -2 1 38 9

Here A, B, ..., F - problems, Solved - number of solved problems, Time - penalty time, "+" means that the corresponding problem was accepted on the first submit, "+i" - the problem was accepted after i rejected attempts, "-i" - the problem was not accepted (i rejected attempts).

Accordingly to the traditions of the competition, to encourage interest to the award ceremony, the Jury will stop updating the current results information one hour before the end of the contest.

During the competition a participant may communicate with members of his/her team, Jury and organizing committee ONLY.

Due to the violation of rules a team may be disqualified

The Jury is solely responsible for determining the correctness of submitted runs, determining the winners and disqualifying teams. The Jury are empowered to adjust for or adjudicate unforeseen events and conditions. Its decisions are final and can't be appealed.

All contestants will be provided with floppy disks for backup. Jury is not responsible for file losts in case of participants faults or hardware problems.

Secret test set will not be distributed among contestants even after the end of the contest.

Team may appeal a Jury decision in case of loss of submitted solution, wrong number of unsuccessful attempts, etc. during 3 days after the contest. Appeals should be sent to the Jury in written form. If Jury accepts the request, it may change teams to be sent to the Finals. Prizes are not transfered. Jury reports its decision to team appealling in any case.

Evaluating software

                 

All computers are connected to the network Novell Netware. Prior to the Contest each team will be given with it's user name and password for login. On the network each team has home directory to work, which is unreachable for other teams. Sheets of paper with user name and the password will also contain the name and location of the home directory.

DOS "Path" variable will point to the MS-DOS system & Netware utilities directory, Norton Commander 5.0, Borland Pascal 7.0 "BIN" directory, Borland C++ 3.1 "BIN" directory and a directory containing Evaluating software files.

To send solution to the Jury type command SUBMIT from DOS prompt. SUBMIT shows a menu like the following:

 ----------------------------------------------
 !  A - Problem A name                        !
 !  B - Problem B name                        !
 !  C - Problem C name                        !
 !  ...                                       !
 !                                            !
 !  Enter the problem identifier: A           !
 !  Enter the file name:          Task_a.pas  !
 !                                            !
 !  Send "Task_a.pas" to jury (y/n)?:   Y     !
 ----------------------------------------------

You should fill the problem identifier you want to submit and the filename of your solution. After confirmation the solution is sended to jury.

The name of the file with solution does not matter. The exnetsion defines programming language and the compiler. There are three possible extensions:

Extension Language Compiler
PAS Pascal TPC.EXE from Borland Pascal 7.0
CPP C++ BCC.EXE from Borland C++ 3.1 (large memory model)
C C BCC.EXE from Borland C++ 3.1 (large memory model)

In a few minutes when the Jury checks the solution you will get a message on the screen with the results of test run.

To see current results of all teams you can use MONITOR command.

Practice session

                 

Practice session will take place a day before the Contest. During the practice session teams become familiar with contest environment and Evaluating Software solving sample problems (1-2 simple problems).

The results of practice session will have NO significance to final results, but the Contest Rules violation during the practice session leads to team disqualification for main round also.

Используются технологии uCoz