diff --git a/doc/examples/example.cs b/doc/examples/example.cs index 708a4a78be..abd3b8cebb 100644 --- a/doc/examples/example.cs +++ b/doc/examples/example.cs @@ -1,9 +1,7 @@ using System; -public class Hello -{ - public static void Main(string[] args) - { +public class Hello { + public static void Main(string[] args) { int nTests = int.Parse(Console.ReadLine()); for (int i = 0; i < nTests; i++) { diff --git a/doc/examples/example.py b/doc/examples/example.py index 66f0b6e532..0ecd0a1fc5 100644 --- a/doc/examples/example.py +++ b/doc/examples/example.py @@ -4,4 +4,3 @@ for i in range(n): name = sys.stdin.readline().rstrip('\n') print('Hello %s!' % (name)) - diff --git a/doc/manual/substitutions.dist.py b/doc/manual/substitutions.dist.py index 9d28651bd2..de514b7ec1 100644 --- a/doc/manual/substitutions.dist.py +++ b/doc/manual/substitutions.dist.py @@ -7,6 +7,7 @@ .. |DOMjudge| replace:: DOMjudge .. |baseurlteam| replace:: https://example.com/domjudge/team +.. |problemseturlteam| replace:: https://example.com/domjudge/team/problems .. |SOURCESIZE| replace:: 256 .. |COMPILETIME| replace:: 30 diff --git a/doc/manual/substitutions.py.in b/doc/manual/substitutions.py.in index 996d626bfb..2779520d12 100644 --- a/doc/manual/substitutions.py.in +++ b/doc/manual/substitutions.py.in @@ -1,13 +1,16 @@ # @configure_input@ +baseurl_separator = '/' if '@BASEURL@'[-1]!='/' else '' + rst_prolog = """ .. |DOMjudge| replace:: @PACKAGE_NAME@ .. |phpversion| replace:: @PHPVERSION@ .. |baseurlteam| replace:: @BASEURL@%steam +.. |problemseturlteam| replace:: @BASEURL@%steam/problems .. |SOURCESIZE| replace:: 256 .. |COMPILETIME| replace:: 30 .. |PROCLIMIT| replace:: 64 -""" % ('/' if '@BASEURL@'[-1]!='/' else '') +""" % tuple(['/' if '@BASEURL@'[-1]!='/' else '']*2) diff --git a/doc/manual/team-problemset.png b/doc/manual/team-problemset.png new file mode 100644 index 0000000000..32fcadfd35 Binary files /dev/null and b/doc/manual/team-problemset.png differ diff --git a/doc/manual/team.rst b/doc/manual/team.rst index fb13efb22c..a77107e48e 100644 --- a/doc/manual/team.rst +++ b/doc/manual/team.rst @@ -23,7 +23,7 @@ become of importance when you run into problems. .. admonition:: Summary The web interface of DOMjudge can be found at - |baseurlteam|. See the two figures on the next page for + |baseurlteam|. See the three figures on the next pages for an impression. Solutions have to read all input from 'standard in' and write all @@ -54,6 +54,13 @@ become of importance when you run into problems. requests and replies is done through the web interface at |baseurlteam|. + Use the |problemseturlteam| page to get: + + - all attachments such as 'testing tools' to problems, + - view the submission and acceptance ratio during the contest as an indicator of the difficulty of a problem, + - get the problem statement and clarifications on those statements, + - see the time & memory limits. + .. raw:: pdf @@ -76,6 +83,11 @@ Overview of the interface The scoreboard webpage. +.. figure:: team-problemset.png + :width: 80% + + The problem set webpage. + .. raw:: pdf PageBreak @@ -128,6 +140,15 @@ an error message otherwise. Web interface ````````````` +The problems can be found at |problemseturlteam|. +The setup of every contest is different so the judges may provide the problemset in hardcopy +or provide the single problem PDFs here and an optional online full problem set. +Sometimes a clarification about a problem is send, you can view those coupled with the statement with the problem. +The judges may provide additional attachments like extra input files, testing/helpful tools or anything relevant to the problem. +You can use this page to pick the next problem to solve, DOMjudge shows the progress of the contest with the amount of +successful and failed submissions, you can use those to find the next problem to solve with as rule of thumb that problems +which are solved often in the beginning are most likely simpler and problems which are solved later in the contest are +deemed harder to grasp. Solutions can be submitted from the web interface at |baseurlteam|. Click the green *Submit* button at the menu bar on every page. @@ -297,7 +318,7 @@ This will be documented in the problem description. Restrictions ```````````` -Submissions are run in a sandbox to prevent abuse, keep the jury system +Submissions are run in a sandbox to prevent abuse, keep the judging system stable and give everyone clear and equal environments. There are some restrictions to which all submissions are subjected: @@ -371,14 +392,14 @@ follow. What follows is a number of possible solutions to this problem for different programming languages. +.. literalinclude:: ../examples/example.py + :language: python + :caption: *A solution in Python* + .. literalinclude:: ../examples/example.c :language: c :caption: *A solution in C* -.. raw:: latex - - \clearpage - .. literalinclude:: ../examples/example.cc :language: cpp :caption: *A solution in C++* @@ -387,22 +408,22 @@ for different programming languages. :language: java :caption: *A solution in Java* +.. raw:: pdf + + PageBreak + +.. raw:: latex + + \clearpage + .. literalinclude:: ../examples/example.kt :language: kotlin :caption: *A solution in Kotlin* -.. literalinclude:: ../examples/example.py - :language: python - :caption: *A solution in Python* - .. literalinclude:: ../examples/example.cs :language: csharp :caption: *A solution in C#* -.. literalinclude:: ../examples/example.pas - :language: pas - :caption: *A solution in Pascal* - .. literalinclude:: ../examples/example.hs :language: hs :caption: *A solution in Haskell*