Блог пользователя elena

Автор elena, 10 лет назад, По-русски

Вероятно, большая часть контестов, присутствующих на настоящий момент в “Тренировках”, подготовлена не с помощью Polygon’а. Тем не менее, возможно, несколько более подробная, нежели п.3 в краткой справке раздела “Тренировки”, инструкция “как создать тренировку из задач, подготовленных в Polygon” окажется для кого-то полезной. Использовать при этом Wizard нет особой необходимости.

Итак, предполагаем, что у нас есть задачи, подготовленные в Polygon, для каждой из которых успешно собран пакет и из которых создан контест.

Сначала проведем предварительную подготовку на Polygon.

  1. Следует дать write-права на контест и на все задачи пользователю codeforces.
    Быстрее всего действовать именно в таком порядке: добавить пользователя codeforces в список Contest developers, после чего выставить права в окне Manage access, не обращаясь к каждой задаче по отдельности.

  2. Для всех задач должны быть собраны пакеты, содержащие последнюю редакцию задачи.
    Нужно проверить, что все задачи имеют название (и другие составляющие, за исключением разве что Note): пакет может собраться, но Codeforces его не “примет”.

  3. Скачать со страницы контеста файл описания contest.xml по ссылке Download Descriptor.
    Если скачать пакет целиком, там тоже можно обнаружить файл contest.xml. Однако для нумерации задач в нем использованы строчные латинские буквы, в то время как для Codeforces нужны заглавные. Разумеется, можно исправить вручную, но можно скачать уже исправленный.

Перейдем на Codeforces.

  1. В “Тренировках” должен быть включен тренерский режим.

  2. Выбрать "Создать тренировку" и заполнить необходимые поля (название, длительность, сезон и т.п.). Если потребуется, всю эту информацию можно будет отредактировать — тренировка появится в списке, и её свойства будут доступны для изменений.
    Приватный режим доступа (по умолчанию) стоит оставить, пока создание тренировки не будет завершено.

  3. Положить в каталог sandbox тренировки файл contest.xml, заменив им находящийся там “стандартный” contest.xml. Это можно сделать по ftp (login и password для доступа совпадают с таковыми на Codeforces).
    Мне в качестве клиента удобнее всего использовать Far manager. Режим passive mode, скорее всего, включать не потребуется. Но если что-то все же пойдет не так, можно попробовать включить.

  4. Если тренировка проводится на задачах уже состоявшегося соревнования и имеется (преобразованный в нужный (testsys) формат) файл монитора соревнований contest.dat, то “стандартный” contest.dat из sandbox также нужно заменить этим файлом (также по ftp).

  5. "Обновить соревнование" (перевести его из sandbox в release). Это займет некоторое время, после чего в соревновании появятся задачи. Если был добавлен файл монитора, то возле задач будет указано количество решивших их, а также будет доступен монитор с “участниками-призраками”.
    Не забудьте нажать F5 или обновить страницу другим образом.

  6. Отправить все авторские решения. Это можно сделать, перейдя на вкладку “Адм.” (все решения, которые были в пакете, будут протестированы). На вкладке “Статус” можно просмотреть все посылки и удостовериться, что поведение решений ожидаемое (правильные получают AC, неправильные — WA, превышающие допустимое время выполнения — TL).
    Сервера Polygon'а и Codeforces — это одни и те же компьютеры, так что ограничения по времени достаточно подобрать на Polygon.

  7. Если все предыдущие пункты выполнены успешно, можно изменить уровень доступа на публичный. Если у тренировки установлено время начала, она не будет доступна до этого момента (при необходимости можно будет ее обновить).

  8. Если были внесены какие-либо изменения в задачи или контест на Polygon (например, выставлены другие ограничения по времени) или же менялся файл монитора contest.dat, необходимо будет вновь “Обновить соревнование”.

  9. Если у тренировки установлено время начала, за 6 часов до этого момента автоматически будет открыта регистрация. Регистрироваться на тренировку участники могут вплоть до ее окончания.

PS. Что несколько огорчает — совершенно не используется Problem tutorial, поле, имеющееся у каждой задачи на Polygon. Кажется, было бы удобно собирать не только файл контеста (или задачи) в pdf, но и его (ее) разбор. Который можно было бы тоже “автоматически” включать в тренировку.

  • Проголосовать: нравится
  • +66
  • Проголосовать: не нравится

»
8 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Нужна помощь.

HTTP Status 409 — Can't get exclusive access to this contest.

type Status report

message Can't get exclusive access to this contest.

description The request could not be completed due to a conflict with the current state of the resource.

Что не так?

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Такое бывает, пока не диагностировали точно как воспроизводить. Попробуй еще раз, оно пропадает через некоторое время. Если научишься воспроизводить — будет круто.

»
6 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

I tried much to put "contest.xml" file to the "sandbox". but here, I do not find any option to replace/edit default context.xml And wizard file don't work . how I can add problem in my own created gym contest???//

»
5 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

А можно подробнее про:

Вы должны включить пользователя codeforces в список contest developers и дать ему write-права на все задачи контеста.

Пытаюсь добавить в список пользователей себя. Он пишет User alexyz not found.

»
4 года назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится

Should that ftp link work right now? I couldn't access it yesterday and today.

Is it temporarily down because of CF issues or should we use something else nowadays to add a contest to GYM?

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Is FTP still done? I can't connect to the server

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Now I have access but Codeforces told me "Can't download statement of contest". It certainly because I didn't add any codeforces user in the list of developers in Polygon. But I don't know how to do that. I saw a button "Manage developers list" but I can't add any codeforces user name...