Rules and Regulations
- Competition Equipment
- Programming Languages
- Directories and Execution Paths
- Competition Tasks
- Your Programs
- Starting the Competition
- Questions and Assistance
- Ending the Competition
Note that the venues and competition details mentioned below are subjected to change. Please check back this page for updates.
The NOI Competition
The 14th NOI competition will be held on Saturday, 5 March 2011.
Contestants are to report in school uniform at 12:45pm outside Seminar Room 1, at Block COM1, Level 2, 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. You will then proceed to the competition rooms on the basement of Block COM1, School of Computing.
At 2:00pm, five programming tasks will be given out to the contestants, who will individually code the solutions and produce the executable files within four and a half 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 the 14th NOI will be announced on 12 March 2011 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 competition.
The decision of the NOI Committee will be final.
The competition computers are Intel PCs with Fedora 8 (Gnome desktop environment), each equipped with a keyboard and a mouse.
Writing pad 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.
- fpc 2.2.0
- gcc 4.1.2
- g++ 4.1.2
The following editors/IDE will be installed on each computer:
- vim and gvim
- GNU Emacs, XEmacs
Firefox will be available as the browser. DDD and GDB are installed as debugger.
The competition is held in the PC Labs
on the basement of block COM1 (School of Computing).
You will find the following directories (note: the information
here is subject to change)
on the home directory of your computer:
- docs contains actual documentation files
- tasks contains test data
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 execution time limit that applies to every test run, the number of test data sets, and the maximum points awarded for the task.
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 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 system 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 Linux for such tasks as executing a program, changing the working directory and managing files.
The only external communications allowed by your programs are reading from standard input, writing to standard output, and (if any) calling external functions in libraries that are specified in the task descriptions.
Programs should read their input data from standard input as ASCII text. This is the case even if the program needs only a single value.
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.
Programs should write their output data to the standard output as ASCII text exactly as specified in the task description.
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 (such as debugging output), as this may disrupt the judging process.
No files are to be read by your programs. Also, your programs must not create any files during execution.
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.
During the two hour of the competition
you may submit questions through the online submission
system 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, No Comment, Answered in the Task Description, or Invalid Question.
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 help you find toilets, refreshments, and attend to computer problems.
During the competition you may get printouts of ASCII files. You may print your code through the online submission system.
Copy of files submitted to the online submission system are saved. You can retrieve old copies of your code. This serves as a backup of your code. You are advised to maintain backups regularly, so that you can recover in the unlikely event of a machine failure.
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 your submitted your program to the submission system?
- Have you disabled the debug features in your programs?
- Have you removed unneccessary screen output?
- Do your programs produce output in the expected format?
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: Tuesday, February 22, 2011 05:58:53 PM SGT