Hong Kong Olympiad in Informatics

IOI / NOI Team Formation Test

Last modified: Fri May 28 1:23:18 HKT 2010

The top 9 finishers will be eligible to participate as observer team members in the ACM-HK Local Programming Contest on June 12 at Caritas Francis Hsu College & Caritas Bianchi College of Careers..

This page may be updated any time before and after the TFT. Please check this page regularly for the most up-to-date information.

Registration

Registration can be done through the judge's Events page on or before June 3 (Thu).

Schedule

The details of Team Formation Test 2010 are as follows:
Date: 5th June, 2010
Time: 10:30* to 14:30 (4 hours)
Venue: Room 312, Haking Wong Building, The University of Hong Kong

* Please arrive at 10:00 to test the machines and the programming environment, see testing section.

Notes:

  • Since the ending time of TFT is late this year, you are suggested to bring with you some snacks and drink to TFT. You are allowed to eat and drink outside the laboratory under supervision. Please raise your hand to find trainers before you move.
  • Early leave is not allowed this year. All contestants are supposed to stay till the end of the TFT.
  • If you cannot attend the TFT due to academic reasons, please contact us immediately to see if we can make any special arrangements.

Eligibility

HKOI Team Formation Test for NOI/IOI 2010: All current HKOI trainees are eligible to participate

IOI 2010: see http://www.ioi2010.org

NOI 2010: see http://www.noi.cn/

Environment

Hardware

  • Intel Core 2 Duo Processor (2.4 GHz)
  • 2GB RAM (Note: the memory limit for your programs is likely to be much less than this)
  • Standard hardware peripherals (i.e. Keyboard, Mouse, Monitor)

Installed Software

Operating System: Windows XP

The Windows environment includes, but not limited to:

  • Dev-C++ 4.9.9.2
  • Free Pascal 2.0.4 with IDE and documentation
  • STL documentation

Tasks

Contestants will be given four tasks to complete within four hours.

Solutions consisting of a program source file

When a program source file is required as a solution, the source code provided by the contestant must be a single source file. Executable files are not acceptable. Input and output should be done via standard input and standard output. For each task, the task description (available in English only) will specify:

  • The input and output data formats
  • The input value ranges (when applicable)
  • The resource limitations for the computations (e.g., CPU time, memory limitations)
  • Any other constraints on the program

The output should be formatted strictly according to the specified output formats. Every line of the output should end with an end-of-line character.

Competition Procedures

Test Session

Contestants are allowed to enter the competition room at 9:30am to test the machines. All data created by the user during this period should be deleted before the competition starts.

Competition

Raising Questions

During the competition, contestants may ask for clarifications on the tasks, competition environment or procedures from the judges. However, questions that relating to solutions or hints to solutions of competition tasks will not be entertained. An announcement to all contestants may be made if the judges deem necessary.

Contestants experiencing technical difficulties should inform the invigilators immediately. Although extra time may be given according to the seriousness of the problem, any unsaved work will be lost.

No blank papers and writing utensils will be provided. Contestants should bring their own writing utensils.

Prohibited Acts

Early leave is not allowed this year. All contestants are supposed to stay till the end of the TFT.

Aside from network access to the Network Drive, the workstations will not have access to each other and the Internet. Any attempt to access another contestant's computer or the Internet will be considered cheating.

Any attempts by the contestant to do any act not within the provided user priviledge (eg. trying to become root/administrator/any other user) is considered cheating.

Submitted programs must not read or create any file. Submitted programs must not attempt to access any system resources other than those relating to solving the given task. In particular, fork(), open(), close(), socket() system calls are not allowed. Any contestants who intentionally submits a program violating these rules will be consiered cheating.

Any attempts to use the Network Drive maliciously (i.e. hacking) will be considered cheating.

Any attempts to disrupt the competition, including attempts to bring down the Network Drive will be considered cheating.

Any use of electronic storage devices, calculators, will be considered cheating. In addition, contestants are not allowed to refer to any notes, textbooks or other written or printed materials other than those supplied during the Competition.

Any other action or inaction by a contestant to intentionally gain an unfair advantage for himself or for any contestant over any other contestant(s) will be considered cheating.

All forms of cheating, regardless of whether it falls under the above categories, and including those not described above, are prohibited. Contestants who cheat or attempt to cheat will be disqualified.

Submission of Solutions

All judging and grading of submissions will be performed a machine identical to those used by contestants in the competition. Therefore, contestants must submit their program source code by placing source files under the specified directory, just like what we have done in Final 2009.

The source code files submitted by contestants must match the file name specified on the question paper. The adjudicators will only grade those files with stipulated file names.

Contestants may submit solutions for a task multiple times during the contest. However, only the last submission will be considered during the judging process. All previous submissions will be ignored.

No extra time will be allocated for the final submission of solutions. Any submission after the "contest is over" announcement will be regarded as cheating.

Grading

For each task there is a set of test cases. The source files for the task will be compiled under WindowsXP on a machine identical (or near identical) to those used by contestants in the competition. No mark will be given to the task if there was no successful submission to the Network Drive.

The command for compiling a Pascal program for judging is:
fpc program.pas -So -XS -v0 -O2

The command for compiling a C program for judging is:
gcc program.c -lm -w -O2 -static -static-libgcc

The command for compiling a C++ program for judging is:
g++ program.cpp -lm -w -O2 -static -static-libgcc

Marks are awarded for each accepted test case. A test case is accepted if:

  • the program produces the correct output (for tasks requiring programs as solutions); and
  • the program (if any) terminates within the CPU run-time limit; and
  • the program (if any) does not exceed the memory limit; and
  • the program (if any) returns an exit code of 0 upon termination (C users must use return 0; to exit the program)

Depending on tasks, partial score may be awarded. Tasks awarding partial scores will contain further details describing the circumstances in which partial scores are awarded.

Results and Selection of Delegations

Finalized results will be announced a few days after the competition. Four contestants will be selected as IOI2010 Hong Kong Team members, five as NOI2010 Hong Kong Team members and nine as ACM-HK Local Observer Team members.

Delegation Selection Algorithm

IOI Team members:

  • The top four contestants who are eligible for IOI2010 (name them A, B, C and D)
NOI Team members (only those who are eligible for NOI2010 are considered):
  • The top contestant (E)
  • The top three contestants (F, G, H) ignoring A, B, C, D and E
  • If any one (or more) of E, F, G, H is a female, select the top contestant (I) ignoring A to H;
    otherwise, select the top female contestant (I) ignoring A to H

ACM-HK Local Observer Team members:

  • The top 9 finishers without any condition

Example

From highest rank to lowest rank:
Tse, Lam, Liu, Tsang, Fong, Yu, Chung, Lui, Pang, Wong, Kwok (F), Chan, Cheng (F)

Moreover, Lam and Yu are not eligible for NOI2010; Tse is not eligible for both competitions.

Then, IOI2009 Team members are Lam, Liu, Tsang and Fong; NOI2010 Team members are Liu, Chung, Lui, Pang and Kwok.