Contest Environment

Here is the full official SWERC'2004 regulation

| Team Composition | Contest Environment | Conduct of the Contest | Scoring of the Contest | Appeals |

Computer Environment :

Judging System

SWERC'2004 will use the Mooshak system developed at the Computer Science Department, University of Porto. This software is web-based and behaves as a full contest manager as well as an automatic judge for contests. It includes four main views:
  • contestants view: allows contestants to
    • visualize the problems descriptions;
    • load a source program and submit it as an intended solution for a given problem;
    • ask questions to the judges;
    • read a FAQ page with answers to common questions;
    • access to the full list of questions and corresponding answers from the judges;
    • access the list of submissions that have been made since the beginning of the contest;
    • access the current classification.
  • administration view: allows the administrators to
    • setup a new contest, by defining the teams, the passwords for the teams, the set of problems, the test cases and time limits for each problem, the languages used and corresponding compilation commands and flags, duration for the contest, etc.
  • judges view: allows the judges to
    • assist in the judging process by validating the results of the automatic judge, thus making the evaluation final. Using this interface, judges can easily re-evaluate submissions if necessary;
    • answer to questions posed by teams;
  • public view: allows the general public to:
    • follow the progress of a contest;
    • access the list of submissions;
    • access the current classification;
    • access the contest statistics.

The Mooshak system will run on:

  • two synchronized front servers, providing the contestants view,
  • up to eight P.IV 3.4GHz with 1.5 GB RAM systems dedicated to running the test cases,
  • one synchronized server, providing the admin and judges views,
  • one other server, providing the public view.
The support for a public online contest is not yet provided.

Access to the system is through login/password authentication. The system has builtin safety measures to prevent users from interfering with the normal progress of the contests. Submissions sent by teams are evaluated by having the corresponding programs compiled and run in a safe-process environment. Programs are only allowed a certain ammount of resources in terms of main memory, disk space and execution time. If a program exceeds any default limit, it is cancelled and a submission message error is produced.
The compilers and compilation commands will be the same on teams machines and automatic judging servers.

A fair number of redundancy schemes will be available.

Working environment

At the contest, all teams have a rather similar working environment:
  • Hardware: various Pentium based systems, ranking from P.IV 2 GHz with 1 GB RAM to P.IV 3.4 GHz with 1.5 GB RAM, 17''monitor; keyboards have the US "QWERTY" layout, however teams are allowed to bring their own PS/2 keyboards. The contest problems are settled to be run and tested with no disadvantage on the oldest systems.
  • Software: Linux Fedora Core 1 with usual goodies: Kde window manager; mozilla browser; emacs, xemacs, vi, ..., text editors; C, C++, Java and Pascal compilers.
    The mozilla browser is pre-configured to be used with the submission system.
    Internet access is restricted only to the required servers.
    An alias is provided for each language compiler with the flags already set as used in the judging server. Next, we list for each language the compilation command, corresponding alias and source file extension that shoud be used:
    Language Compiler Command Alias Extensions
    C gcc 3.3.3 gcc -ansi -Wall -Wno-unusued -lm file.c mygcc .c
    C++ g++ 3.3.3 g++ -ansi -Wall -Wno-unused -lm file.cpp myg++ .cpp
    Java jdk 1.4.2 javac file.java myjava .java
    Pascal freepascal 1.0.10 fpc -v0w file.pas myfpc .pas
    The filename you use for your programs is irrelevant for the system. However, file extensions are crucial. The system won't recognize other extensions and won't try to guess the programming language you are using. It assumes that the file extension you give correctly identifies the programming language.
All teams are given a login and password to open their working environment.

Using the Mooshak system

All teams are given a login and password to access the contestants view of the system. Teams must, first:
  1. access to page: http://mooshak/~mooshak/;
    you need to go through the authentication process, in principle, just once;
  2. select the problem the team is going to solve (A, B, C,..., I);
  3. load the source code of your program that solves the problem you selected, and then click on Submit.

Once you have made a submission, the result of the automatic judge should appear almost instantaneously. This result is initially marked as in pending state to indicate that it has to be confirmed by a judge person. Once confirmed, the submission result is marked final.

In about 99% of the cases the automatic judge makes a correct evaluation. We made a great effort to make everything consistent and robust, but problems may arise unexpectedly, such as a system resource failure, a mistake in a test case, etc. You shouldn't worry too much because the system is highly flexible in allowing the judges to re-evaluate submissions without a team beeing penalised for it, and thus undoing whatever went wrong first.

  Please note: any attempt in sending too many adhoc submissions near the end of the contest will be interpreted as misconduct by the judges.

Access to the public view is afforded through the page: http://kelen.polytechnique.fr/mooshak/.

Manuals

The system includes the usual man-pages in Linux as well as the Gnu-Emacs info. To use info just type info on your shell, or type ``Ctrl-h i'' if you are using emacs. The Kde help tool is also at disposal. The STL, JDK and fpc documentation can be accessed through the page: http://mooshak/~mooshak/documentation.

  Please note: any attempt in loading documentation pages at an excessive rate will be interpreted as misconduct by the systems administrators and the judges.

Printing your programs

To print a copy of one of your programs, load it first and then press the button Print. Please do not leave your place to collect the printout from the printer, someone will bring it to you. You are only allowed to print your programs not the problem descriptions.

Problem descriptions

Even though each team member receives a paper copy of the problem set, the judging system allows you to access the problem descriptions through your browser. Please select the problem and then press on the View button.

Asking questions

In case you need to ask a question to the jury, please select the problem to which the question is related and then press Ask. Once you have submitted the question, every team will have access to it as well as the answer given by the judges. Some questions may not be answered directly, because they have been already answered or because the judges feel it cannot be answered without giving away relevant information.

Please be considerate to other teams and avoid questions that simply can not be answered (e.g. what is the output of judge's solution for the following input ...).