Berlin Programming Contest

Rules for the Contest

Introduction

The contest is a competition among teams of students of HU Berlin, TU Berlin and FU Berlin. The contest is not restricted to computer science students.

The contest gives an opportunity to sharpen problem solving skills and to compare this ability with co-students. The winning team (maybe even the best two) advance to the ACM Southwestern Europe International Collegiate Programming Contest.
 

Team Composition

  1. Contestant eligibility is determined DURING the academic term ending closest to the date of the regional contest. Graduation and degree conferrals are considered to occur AFTER a term has been completed, not during that term. Any questions of eligibility should be posed to the Contest Director.
  2. Each team consists of (up to) three "Contestants".
  3. Each Contestant must be a student enrolled in a degree program at the sponsoring institution with at least a half-time load. This rule is not to be construed as disqualifying co-op students on regular co-op activity away from the institution who are otherwise in good academic standing.

Conduct of the Contest

  1. The language of the Contest is UK English. All Contest materials will be written in UK English.
  2. Contestants may bring resource materials such as books, manuals, and program listings. Contestants may not bring any machine-readable versions of software or data. Also programmable calculators are not allowed. In case of doubt permission has to be given by a Contest Judge.
  3. Solutions to problems submitted for judging are called "runs". Each run is judged as accepted or rejected by a "Contest Judge" and the team is notified of the results.
  4. Notification of accepted runs may be suspended at an appropriate time to keep the final results secret. A general announcement to that effect will be made during the contest. Notification of rejected runs will continue until the end of the contest.
  5. A contestant may submit a claim of ambiguity or error in a problem statement by submitting a "clarification". If the Judges agree that an ambiguity or error exists, a "clarification" will be issued to all contestants.
  6. Contestants are not to converse with anyone except members of their team and personnel designated by the Contest Director. Systems support staff may advise contestants on system-related problems such as explaining system error messages.
  7. While the contest is scheduled for a particular time length, the Contest Director has the authority to alter the length of the contest in the event of unforeseen difficulties. Should the contest duration be altered, every attempt will be made to notify contestants in a timely and uniform manner.
  8. A team may be disqualified by the Contest Director for any activity that jeopardises the contest such as dislodging extension cords, unauthorised modification of contest materials, any try to change the configuration of the contest PCs or usage of programs other than PC^2 and compilers or distractive behaviour. Also using contest resources (computer, printer etc.) for other than direct problem solving goals is considered distractive behaviour.
  9. At least five problems will be posed. As far as possible, problems will avoid dependence on detailed knowledge of a particular applications area or particular contest language.

Scoring of the Contest

  1. The Contest Judges are solely responsible for determining the correctness of submitted runs. The winners of the Contest are determined by the Contest Judges and th Contest Director. The Contest Judges are empowered to adjust for or adjudicate unforeseen events and conditions.
  2. Teams will be ranked by the total number of correct solutions. For the purpose of awards, or in determining qualifier(s) for the ACM Contest, teams who solve the same number of problems are ranked by least total time. If this results in a draw situation the least number of attempts for each solved problems are taken into account. First the number of submissions for the problem with the most attempts are compared.
  3. The total time is the sum of the time consumed for each problem solved. The time consumed for a solved problem is the time elapsed from the beginning of the contest to the submittal of the accepted run plus 20 penalty minutes for every rejected run for that problem regardless of submittal time. There is no time consumed for a problem that is not solved.

Programming Environment

  1. Each team will use a single computer terminal. Each team will have reasonably equivalent computing resources.
  2. We will use X-Terminals from the RBG connected to SUN Servers running Solaris.
    The programming languages of the Contest are C, C++ and Java.

    Here is an detailed description of the programming environment:
    C C++ Java
    compiler gcc / v3.3.2 gcc / v3.3.2 javac / v1.4.1_01
    linked libs libc libc java 1.4
    documentation manpages manpages java api specification
    debugger gdb / v5.0 gdb / v5.0 jdb / v02/04/20
  3. Library functions having to do with files, processes and sockets are considered illegal.
  4. For each submitted program it is not allowed to use one of the following constructs:
    • Usage or creation of any file other than stdin, stderr and stdout
    • Usage of (inline) assembly code
    • Usage of more than one thread or process
    • Usage of any network facility except contacting the automatic contest judge
  5. It is the responsibility of the teams, not of the compiler, to insure that the program applies with the rules given above.

last modified 10/30/05 (www-admin)