1. The contest organiser will have final say in the interpretation of these rules and in the ruling of any unforeseen eventualities.
2. Contestants must be in second-level education and be under 20 at the time of the international competition. (The age limit is subject to revision.)
3. The contest will consist of two five hour sessions. There will be three problems in each session.
4. The computers used will be standard PCs, the languages will be BASIC (QBASIC), Pascal (Turbo Pascal) and C (Borland C++). Contestants must use the computers and languages provided. They may not bring their own hardware (no calculators) or software.
5. Contestants may bring any books, manuals and/or notebooks into the competition.
6. Contestants must not disturb other contestants.
7. Contestants may ask questions in the first hour of a session. Questions must be written on a sheet of paper, and the answer will be yes, no or no comment. (Not very informative, but those are the IOI rules.)
8. At the end of a session, the programs should be saved as directed below (see the section on filenames). In addition, the programs will be copied onto two floppy disks (these will be supplied). Contestants will keep one disk and the other will be handed up to a supervisor.
2. All programs will read their input from a file and will write the output to a file. They will be marked solely on the output. In no case will the program itself be looked at. The names of the files will be specified on the problem itself. You must ensure that you follow these instructions.
QBASIC /run day1a.bas
This will run the program. The program should create the file day1a.sol which contains the solution. The program should then exit. This means that BASIC programs should finish by issuing a SYSTEM command. Otherwise it will not be possible to process them automatically.
The same rules apply to the other problems on day1 except that the filenames will start with DAY1B and DAY1C.
On the second day, the filenames will start with DAY2. That is if you write a BASIC program to solve problem A, then it should be called \DAY2A.BAS, and read its input from a file called DAY2A.DAT. It should create a file called DAY2A.SOL.
a) Where the program does not finish in reasonable time. This will be of the order of 20 seconds. In this case the program will be considered not to work.
b) In the event of a tie, and only if a result is needed, the fastest program to execute will be considered better.
Comments on the marking process : When I saw these rules in action, I thought they were very hard on the contestants. But even with these rules the marking process was very long and arduous. Besides, it is impossible for two people to agree on the merits of a program just by looking at it. However, you will get a sample input file. You can run your program using this and check to see if it gives the correct output (which you will also be given).