Home
11th NOI
Eligibility
Rules & Regulations
Programme
Committee
About NOI
About NOI
Acknowledgment
About IOI
Competition
Problem Sets
Results
Photo Gallery
Support
FAQ
Contacts

Rules and Regulations

The NOI Competition

The NOI competition will be held on Saturday, 5 April 2008.

Contestants are to report in school uniform at 12:45pm outside LT 34, third level of block SOC1 at School of Computing. You will mark your attendance, and collect your name tag, free bag and T-shirt there. Wear your name tag on your right chest. At 1:15pm, a briefing to all contestants will be conducted in LT 34. You will then proceed to the competition rooms on the eighth floor, SOC1.

At 2:00pm, six programming tasks will be given out to the contestants, who will individually code the solutions and produce the executable files within four hours. Light snacks and drinks will be provided during the session.

Any contestant who reports after 2pm is deemed to be absent and will not be allowed to participate, and will not receive the Certificate of Participation.

Contestants do not need to be present for judging.

The results of NOI 2008 will be announced on 12 April 2008 during a prize-giving ceremony. All contestants are invited to attend the prize-giving ceremony. Tentatively, the programme on that day starts at about 10am and ends at 1pm. You will be given the details on the day of the NOI (5 April 2008).

The decision of the NOI Committee will be final.

Go to top of page Competition Equipment

The competition computers are Pentium PCs with WinXP, each equipped with a mouse.

Diskettes for back-ups and printing, writing papers and pens will be provided. As this is an open-book competition, you may bring in books and notes. You are NOT allowed to bring in computers, diskettes or other computing and electronic devices (except calculators and watches). You are to turn off your mp3 player, handphone, etc. and keep them inside your bag.

Go to top of page Programming Languages

The following compilers, come with help files, will be installed on each computer: For C++ programmers, we recommend that you use Dev-C++ instead of DJGPP C/C++.

Go to top of page Directories and Execution Path

The competition is held in the PC Labs and Workstation Lab on level 8 of block SOC1 (School of Computing). You will find the following directories (note: the information here is subject to change) on the hard-disk of your computer:

  • C:\PP\BIN\WIN32\FP.EXE for Free Pascal
  • C:\DJGPP\BIN\RHIDE.EXE for RHIDE DJGPP C/C++
  • C:\DEV-CPP\DEVCPP.EXE for Dev-C++
  • E:\NOI\TASKS for your working directory (where you develop your programs)
  • E:\NOI\SUBMISSIONS for submitting your .EXE files. (You must copy your .EXE files to this directory before the competition ends.)

The execution path %PATH% will be set to give access to all programming languages.

Go to top of page Competition Tasks

All of the tasks at NOI are programming tasks and are designed to be of an algorithmic nature. The focus is on designing correct and efficient algorithms.

The Task Overview Page lists out for each task, the task name, input filename, output filename, the execution time limit that applies to every test run, the number of test data sets, and the maximum points awarded for the task.

Go to top of page Your Programs

While you may choose to write your programs in any of the programming languages offered, to enable objective judging you must compile your programs as stand-alone MS-DOS executables.

For C and C++ programmers, your main function should not require any arguments.

The input and output operations will be kept simple, allowing you to concentrate on the algorithmic details. No special features of the programming packages are needed, nor should they be used. In particular, the following features will NOT play a role in the programming tasks: Graphical output, mouse input, advanced file manipulation, advanced numeric processing and DOS calls.

You should be familiar with the programming package of your choice. Your ability to use the Integrated Development Environment (IDE), in particular, the built-in editor, compiler and the debugger, will be helpful. Some knowledge of compiler options may also be an advantage. Furthermore, you should be able to use MS-DOS for such tasks as executing a program, changing the working directory and managing files.

Go to top of page External Communications

The only external communications allowed by your programs are reading input files and writing output files.

Go to top of page Input Data

Programs should read their input data from ASCII text files. This is the case even if the program needs only a single value. The names of the input and output files are given in the task descriptions. The names of the input and output files must be spelt precisely as given; no variation will be allowed. Programs must NOT read from the keyboard.

You may assume that the input data agrees with the task description, and the data sets used in the judging do not contain errors.

Input data consist of a sequence of items. An item is either an integer or a non-empty character string of letters ('a' to 'z', 'A' to 'Z'), digits ('0' to '9') and/or other characters ('@', '$', '*', etc.). Items are separated by either a single space character or a single end-of-line.

In general the structure of the input is such that you do not have to worry about end-of-line and end-of-file conditions. There may, however, be exceptions to this. In any case, the task description will indicate so if an exception exists.

One sample input file is provided for each competition task, both in the task description and the task directory. However, successful execution of your program on the sample file does not necessarily guarantee that your program is correct.

Go to top of page Output Data

Programs should write their output data to the ASCII text file specified in the task description. Programs are NOT required to write to the screen, and such output will NOT be evaluated. You are encouraged to remove all screen output from your programs before you create the final executable.

Output data consist of a sequence of items. An item is either an integer or a non-empty character string of letters ('a' to 'z', 'A' to 'Z'), digits ('0' to '9') and/or other characters ('@', '$', '*', etc.). Items are separated by either a single space character or a single end-of-line.

The output should be formatted exactly as shown in the task description. Do NOT add output of your own, as this may disrupt the judging process.

Go to top of page No Hardcoding of Paths

Do NOT hardcode the pathname of your input file or output file. For example, if the input file is 'APPLE.IN', this is what you should write in your program:

  assign(infile, 'APPLE.IN');
    OR
  infile = fopen("APPLE.IN", "r"); Correct

and NOT this:

  assign(infile, 'E:\NOI\TASKS\APPLE.IN');
    OR
  infile = fopen("E:\NOI\TASKS\APPLE.IN", "r"); Wrong

or any other directory. Do likewise for the output file.

Go to top of page Intermediate Files

No other files, besides the given input files, are to be read by your programs. Also, your programs must not create other intermediate files besides the required output files.

Go to top of page Starting the Competition

When you enter the competition room, your allocated computer will already have been switched on. The competition task descriptions will be distributed to you at the start of the competition.

You must not communicate with your friends during the competition, either in the competition room, or outside. Do not touch the keyboard until the start signal is given.

Go to top of page Questions and Assistance

During the first hour of the competition (9:00am to 10:00am) you may submit written questions on the "Question Form" provided concerning any possible obscurities or ambiguities in the competition task descriptions. Each question will be answered with only one of the following responses: Yes, No, or No Comment.

Your question(s) may take some time to be answered, so you should continue working while waiting for the answer(s) to your question(s).

You may ask the lab supervisors for assistance at any time. The supervisors will NOT answer questions about the competition tasks, but will deliver your question forms, help you find toilets, refreshments and attend to computer problems.

Go to top of page Printing

During the competition you may get printouts of ASCII files. Copy the file(s) into the subdirectory "A:\PRINT" of your diskette and hand it to the supervisor. Your diskette will be returned with the printout of the file(s). The file(s) will be moved to the directory "A:\TRASH", after printing.

Go to top of page Backups

You will be given a diskette for you to backup your files and for printing during the competition. You may take this diskette back home after the competition. You are advised to maintain backups regularly, so that you can recover in the unlikely event of a machine failure.

Go to top of page Ending the Competition

You will be warned at 15 minutes and again at 5 minutes before the end of the competition. Take this opportunity to go through the following check list for the tasks:

  • Have you saved your programs with the correct names?
  • Have your copied the executable files of your tasks into the submission directory?
  • Have you disabled the debug features in your programs?
  • Have you removed screen output?
  • Did you make executables using the right compiler options?
  • Do your programs produce output in acceptable formats?
  • Do your programs accept inputs through the keyboards (like "press a key to continue") -- this is NOT allowed!

When the TIME'S UP signal is given, you must immediately stop working.

Do NOT switch off your computer.

Rules are subject to changes.


Last updated: 12 February 2008