elena's blog

By elena, 10 years ago, translation, In English

By all appearances, most contests in "Gym" were not prepared via Polygon. Nevertheless, someone might find it useful to read a little more instructions on creating a training contest from Polygon problems. You won’t need the Wizard for that.

So, let’s assume that we have some contest prepared in Polygon, and each contest problem has a complete package.

Let’s start with preliminaries on Polygon.

  1. Grant "codeforces" user write access permissions to the contest.
    The fastest strategy is as follows: add "codeforces" user to the list of Contest developers, then grant write access by using drop-down lists in the Manage access popup. Then you won't have to manage access in each individual problem.

  2. For all problems, make complete packages containing the latest version of the problem.
    Make sure that all problems have names and all other components (except for the Note): otherwise, a package can be assembled (Create package at Polygon), but Codeforces won’t use it.

  3. Download "contest.xml" file from the contest page by clicking the Download Descriptor link.
    If you use Download package link, you can also find a file named "contest.xml" in the package. However, problems in this file are indexed by lowercase letters whereas Codeforces needs uppercase letters. Naturally, you can correct them manually, but you can also download the already corrected variant.

Let’s switch to Codeforces.

  1. Go to the Gym tab and turn the coach mode on.

  2. Click the Create new training link and fill in the required fields (name, duration, season, etc.) You will be able to edit this information later — the training contest will appear in the list and its properties will be open to changes by clicking Edit link at the rightmost column.
    Do not change the default private access mode until the training is created.

  3. Put "contest.xml" file to the "sandbox" directory and replace the default "contest.xml" by it. It can be done via ftp (ftp login and password are the same as Codeforces).
    You most probably won’t have to turn on the passive mode. But if something goes wrong, you can always try turning it on.

  4. (Not necessary) Replace the default "contest.dat" file from the "sandbox" directory by contest monitor (ranklist) file (also via ftp). If you make a training session from the problems of an official contest, and have a contest monitor file, you needs to convert it to required ("TestSys") format and to name it as "contest.dat".
    In most cases, you can convert HTML-ranklist to required format by Wizard, save it as "contest.dat", close Wizard and proceed with your work.

  5. Update Contest (build release from the sandbox). This takes some time, then problems will be appear in the contest. If you’ve added the contest monitor file, that the problems will come with information on the number of people who solved them, and the monitor with the "ghost" participants will be available.
    Don’t forget to push F5 or refresh the page in any other way.

  6. Submit all package solutions. To do it, go to the Adm. tab (all solutions that were in the package will be submitted). You can see all submissions in the Status tab. Make sure that the solutions behave in the expected manner (the correct solutions get AC, the incorrect ones get WA, if a solution violates the time limit, it gets TL).
    Polygon and Codeforces servers are the same, so setting the time limits on Polygon will be enough.

  7. If all previous items are successfully completed, you can change the access mode to public. If the training has a starting time, it won’t be available until this time (if necessary you can update it once more).

  8. In case "contest.dat" file or some problem or contest at Polygon has changed (for example, another time limits are set), you need to Update Contest again.

  9. If the training has a set starting time, registration will automatically start 6 hours before this moment. The participants can register to the training at any time during the training session.

PS. As Polygon has Problem Tutorial field, generating the pdf-version of the tutorial (as statements do) appears to be a good thing. Besides, the tutorial could automatically be included in the training.

Full text and comments »

  • Vote: I like it
  • +66
  • Vote: I do not like it