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:
- access to page: http://mooshak/~mooshak/;
you need to go through the authentication process, in principle, just once;
- select the problem the team is going to solve (A, B, C,..., I);
- 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 ...).
|