Domjudge@FAU Manual

Team Pages

The central page for the team is the submissions page (see screenshot #1). As with each page, the menu bar is the top element of this page. The main table on this page will be explained later in detail.
The right top element of each page is a clock that is updated whenever the page is reloaded. This clock also shows the remaining time before the contest ends.
The table on the right is a mini-scoreboard just for your team. It is explained later below.

screenshot #1 - central team page

Mini-Scoreboard

The mini-scoreboard (see screenshot #2) that lists all problem names, their balloon colors, and the resulting score is displayed on most of the team pages. If a score cell is green then you have already solved that problem. If the cell is red, you have already tried to solve the problem, but your attempts have not yet been successful. For problems with a white cell, you have never submitted a solution.
If your submission was accepted and the cell is green, the text has the format: #s (#m + #p) to indicate that you have made #s submissions for this problem. The first accepted submission has taken #m minutes with a penaly of #p (= 20*(#s-1)) minutes. A red cell shows the number of (of course unsuccessful) submissions.
The mini-scoreboard is updated whenever the surrounding page is reloaded.

screenshot #2 - mini scoreboard

Problem Overview

All problems are illustrated in the problem overview (see screenshot #3). Next to the balloon color and the problem name there are five symbols that are shortcuts to other pages. From left to right, you have the option to download the problem description as PDF, to view and download the sample input/output, to submit a new solution for this problem, to print source code, or to ask a question related to this problem.

screenshot #3 - problem overview

Table of Submissions

All submissions of all teams and their results are shown in the table of submissions. You can restrict the list to show only the submissions of your team, as shown in screenshot #4. Submissions are listed backwards in time, i.e. the latest submission is the first entry. With the arrows above the list, you can scroll in time.
Each entry shows the submission time, the name of the submitting team, the problem name, and the language. Depending on the status of the judging the next two columns show the result of the submission. The status Queued means that the submission is submitted correctly but waits to be judged automatically. If this automatic judging is finished then a tentative result is shown in this column. As long as the verified column do not state final, the result might be subject to change without any further notice. The possible submission results are discussed below. The icon in the last column is for downloading the source of the own team's submissions. This icon is not available for other team's submissions. The table of submissions is updated whenever the page is reloaded.

screenshot #4 - submission table

Submission Results

If your program has been accepted by the judges, the result is correct. Otherwise, here is explained what the status means:

Questions / Clarifications

In case of ambiguities or lack of clarity you may ask a question in English language. The following screenshot shows a question list. The subject will be kept undisclosed until a judge has approved it. The judges may answer your question or classify the question as no answer or already answered.

screenshot #6 - question list

You can view the other questions (see screenshot #7) and ask your own questions (click on the question mark). Please specify a valid subject and write a clear question in English language (see screenshot #8).

screenshot #7 - view a question


screenshot #8 - ask a question

New Submission / Printout

In order to submit a new solution or to print source code, you have to first select a problem. You may choose the language of your program or let Domjudge choose the language automatically (.c for C, .cpp for C++, and .java for Java). Your submission or source code will be uploaded and you will be informed about the submission status. Please contact staff immediately in case of any problems.

screenshot #5 - submit solution or print source code

Scoreboard

In the scoreboard you can follow the ranking of all teams. Teams may be split into categories - each category is listed separately. Teams are sorted by several criteria. The first criterion is the number of accepted submissions to different problems. In case of a tie, teams are separated by the total time used for these submissions (including potential penalty time) - of course, time is only taken into account, if the problem is solved at all.

screenshot #9 - scoreboard - two categories

Code Examples

Below are a few code examples on how to read input and write output for a simple problem. Problem Description: given a string with a name (up to 99 characters), consisting of one word without whitespace, output the string: "Hello <name>!". Sample input and output for this problem:

Sample Input

3
world
Jan
SantaClaus

Sample Output

Hello world!
Hello Jan!
Hello SantaClaus!

C Code

Do not forget to return 0. A missing or a different return statement might result in invalid exit codes that DomJudge interpretes as a Run-Error.
#include <stdio.h>

int main(int argc, char **argv) {
    int numCases;
    char name[99 + 1]; /* + '\0' */

    scanf("%d", &numCases);
    
    while (numCases) {
        --numCases;

        scanf("%s", name);
        printf("Hello %s!\n", name);
    }
    
    return 0;
}

C++ Code

using namespace std;

#include <iostream>
#include <string>

int main(int argc, char **argv) {
    int numCases;
    string name;
    
    cin >> numCases;
    
    while (numCases) {
        --numCases;
        cin >> name;
        cout << "Hello " << name << "!" << endl;
    }
    
    return 0;
}

Java Code

import java.io.*;

public class Main {
    
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        
        int numCases = Integer.parseInt(reader.readLine());
        
        while (numCases > 0) {
            --numCases;
            String name = reader.readLine();
            System.out.println("Hello " + name + "!");
        }
    }
}

Acknowledgement

The original version of Domjudge was developed in the Netherlands by Jaap Eldering, Thijs Kinkhorst, and Peter van de Werken. Thanks a lot for your work!