Contest Rules 2015

These are subject to change until each contest begins.

Eligibility

All current secondary (or intermediate) school students in New Zealand.

Supervision

All official competitors must be supervised. The supervisor may be a teacher, volunteering parent (recommended by a teacher) or a trusted non-competing senior student (school prefect recommended by a teacher).

To recommend a supervisor other than a teacher, please ask a teacher to email us directly on who will supervise and the location.

Contest environment

Contest system

Each contest will be held online. After logging into http://train.nzoi.org.nz/, the contest will appear at the start time. When ready, students may start the contest. The 3 hours will begin at that time. The problems will be visible on the contest page, and submissions may be made from there. To submit a solution, students submit the source code, which will be compiled and executed on the judging system.

After the submission is judged, the results will appear immediately. Students may use this to fix any bugs. There are no guarantees on how long it might take for the submission to be judged, if there are a large number of submissions made at the same time.

Programming languages

Students may use any programming language supported by the site. Currently, these are C++2011, C++2003, C (C99), Java (1.6), Python (2.7, 3.4), Ruby (2.2) and Haskell (2010).

Because Python and Ruby are interpreted, it is possible that the required algorithms on some problems cannot be implemented efficiently, causing a timeout, and scoring only ~50-70%. If possible, there will be enough time for all languages, but this is sometimes not possible as a highly optimized but inefficient solution would otherwise pass. We will not increase the time limit for interpreted languages because this cannot be done fairly (C extensions may be used in parts of the standard libraries). Students who can solve these problems, but regularly timeout on the largest test cases are advised to use a compiled language.

Please note that with Java, the source code will be put in a file called Main.java, so submissions must use a class named Main.

Local editors and compilers

The editors and compilers on local machines may vary from school to school, depending on what is available, including the operating system installed on the computers.

We suggest that schools have at least a basic text editor (such as Gedit or Notepad++). The compiler may vary depending on the language, but for C++, gcc/g++ is suggested as this is what is used for judging. For Windows, Dev-C++ is a light-weight fully featured editor/IDE and compiler that is probably the easiest to install. It is also much easier to use as new users have trouble setting up projects in Visual Studio or Eclipse.

For power users, we suggest that the compiler be made available on the command line. This is already the case with Linux operating systems. For Windows, for which cmd.exe lacks many features and is difficult to use, MinGW (including a port of GCC) is recommended along with MSYS as a command-line interface. Cygwin is not recommended because it may be too slow.

Documentation and other material during the contest

While competing, students may only access the http://train.nzoi.org.nz/ website, or an official (static) language documentation site (language documentation installed locally may also be used). Electronic language documentation (but not source code) stored locally is also permitted. Forums or interactive websites are strictly forbidden.

Students may also use any printed material during the contest, including language documentation, textbooks or source code. These materials may not be shared.

Students may not access or use any electronically stored source code, whether it is stored locally or on the internet. This includes source code written by the student prior to the contest. All source code submitted must be written during the contest, without any collaboration.

Help

Students may ask the supervisor questions on administrative tasks, such as, when the contest ends or how to use the website to make a submission.

Questions such as how to solve a problem, how use a language feature, or where a bug is in a program will not be answered. The student should be able to find out how to use a language feature by reading the language documentation.

If a student is new to a programming language, we suggest that they bring printed sample source code for reference.

Any questions related to the problems should be emailed to NZIC for a response.

Leaving early

This is up to each individual school or supervisor. However, the time at which any students leave the contest early will need to be reported.

Qualification for Final Round

This is still subject to change. The final round will have 4 problems adding up to a score of 600 points.

To enter, the results of the first 3 rounds will be used to qualify to enter this round. The expected ways to qualify are (subject to change):

  • rank in the top half of contestants
  • score at least ~120 points in any of the 1st 3 rounds
  • be invited to participate.

At our discretion, unofficial contestants may be invited to participate in the final round officially based on their unofficial round 1-3 scores. However, unofficial scores will not be counted for the purpose of rankings for the season.

Scoring

There may be slight modifications to scoring. These will be finalized closer to the time of the contests.

There will be official scoreboards for individual students, and for schools.

Each student will be scored for the year based on a weighted sum of their round 1-3 and final round scores. The higher scores in rounds 1-3 will be have a larger weighting than lower scores. The final round will be weighted the most.

Each school will receive a score based on the weighted average of their top 3 students in each round (top 2 in the final round). The score for the year will be the sum (with the final round worth double).

Based on the year’s scores, we will guarantee a place in our January camp for up to 10 of the highest scoring students (depends on number of students competing in the final round, and normal camp fee applies). Other students will still have a chance to apply to come to our camp. We will offer a place to as many interested students as we can.