Посібник зі створення змагань | Статті

Процес створення змагань на платформі Алготестер

  1. Перейдіть на сторінку подій, створену для вас.

    Посилання на неї має вигляд "https://algotester.com/NAZVAPODIYI/uk".

  2. Натисніть кнопку "Налаштування" у верхньому правому куті одразу після назви події.

  3. Оберіть вкладку "Змагання".

  4. Натисніть кнопку «Створити». Ви перейдете на сторінку з формою створення змагання. Багато одразу автоматично заповнюються. Далі пояснимо всі поля детальніше.

    Поля, які потрібно дозаповнити:

    • Назва. Назва змагання

    • Початок. Час початку змагання. Як тільки ви натиснете на поле - з’явиться календар. Оберіть потрібний час початку змагання.

    • Тривалість (хв.). Тривалість змагання (від початку до кінця)

    • Тривалість реєстрації (хв.). Тривалість періоду протягом якого можна зареєструватися на змагання

    Поля, заповнені значеннями за замовчуванням. Хоч їх можна і не змінювати - рекомендуємо прочитати, що вони означають:

    • Група компіляторів. Набір мов програмування, які дозволено використовувати для надсилання розв’язків до задач цього змагання. (Пізніше в змаганні можна налаштовувати окремо для кожної задачі.) Група Archive дозволяє використовувати всі мови програмування, що є доступними в архіві Алготестера.

    • Тип змагання. Правила, за якими відбувається змагання.

      • General Правила шкільних олімпіад IOI. Бали даються за пройдені тести. Майте на увазі, що не всі задачі з Архіву Алготестера створені з врахуванням цих правил (тести не розбиті на блоки, або простий розв’язок може набирати занадто багато балів).

      • ICPC Правила студентських олімпіад. 1 бал за здану задачу. Зараховується лише повністю здана задача.

    • Тип учасників. Індивідуальна участь / командні змагання (потрібно створити команду на Алготестері) / І те і інше.

    • Тип турнірної таблиці. Видимість турнірної таблиці для учасників.

      • Public. Видно всіх учасників

      • ContestantsOnly. Наразі це значення не використовується.

      • Group. Учасник бачить лише результати учасників з такої ж групи.

      • Private. Учасник бачить лише свої результати.

      • Problem. Результати показуються по кожній задачі окремо.

    • Штраф за неуспішний розв’язок (хв.) Кількість штрафних хвилин, які нараховуються за неуспішний розв’язок. Значення за замовчуванням - 20. Працює лише для ICPC змагань, чи окремих задач.

    • Турнір. Турнір, до якого належить це змагання. (Залиште порожнім.)

    • Період між реєстрацією та змаганням (хв.)

      Тривалість періоду між кінцем реєстрації та початком змагання.

      Можна вказувати від’ємне число. В такому випадку можна буде реєструватися під час змагання. Якщо бажаєте дозволити реєстрацію аж до кінця змагання — вкажіть "-(мінус) тривалість змагання". Не забудьте в такому випадку збільшити тривалість реєстрації.

      Наприклад, вказавши такі дані: Початок змагання — 10:00. Тривалість — 80 хв. Період між реєстрацією та змаганням — -15 хв. (Дозволити реєструватися, якщо запізнилися на менше ніж 15хв.) Тривалість реєстрації — 47 хв. Отримаємо наступні періоди: Початок реєстрації – 09:28. Початок змагання – 10:00. Кінець реєстрації – 10:15. Кінець змагання – 11:20.

    • Період без оновлення турнірної таблиці (хв.). Кількість останніх хвилин змагання, коли таблиця буде "заморожена" для зберігання інтриги. При значенні 0 - таблиця не буде заморожуватися та учасники будуть бачити фінальні результати.

    • Дозволити перегляд усім. Дозволяє незареєстрованим учасникам заходити в змагання та переглядати умови задач. Але щоб надіслати розв’язок до задачі - потрібно зареєструватися в системі.

    • Показувати остаточну турнірну таблицю. Чи показувати "розморожені" результати змагання. Майте на увазі, що якщо це поле вибране - "заморозка" не працюватиме під час змагання.

    • Глобальний штраф останнього покращення. Чи використовувати замість стандартних правил штрафу (сума всіх часів, коли здали кожну з задач) час останнього покращення (максимальний час, коли результат покращився)?

    • Не можна переглядати розв’язки під час змагань. Учасники не можуть переглядати код розв’язків, які вони надсилали протягом змагання.

    • Не можна переглядати умови під час змагань. Учасники не можуть бачити умови задач онлайн. (В такому випадку забезпечте учасників паперовими версіями умов.)

    • Налаштування реєстрації учасників

      Учасники поділяються на дві групи: офіційні та неофіційні (поза конкурсом). Неофіційні учасники відрізняються напівпрозорим кольором в таблиці змагання та ігноруються під час обчислення зайнятого місця. Для того, щоб учасник зареєструвався на змагання "поза конкурсом" - потрібно натиснути на кнопку "Поза конкурсом" на сторінці реєстрації на змагання.

      • Тип реєстрації.

      • Тип неофіційної реєстрації.

        • Public. Всі, хто мають доступ до сторінки змагання можуть реєструватися. Підтвердження не потрібне.

        • ConfirmationRequired. Всі, хто мають доступ до сторінки змагання можуть реєструватися. Але щоб брати участь - потрібне підтвердження. Без підтвердження учасник не матиме доступу до задач змагання.

        • Private. Учасники не можуть самостійно зареєструватися на змагання. Додавати учасників може лише автор змагань зі своєї панелі керування.

        • NotAvailable. Заборона реєстрації. Це поле можна обрати лише для реєстрації поза конкурсом, щоб заборонити її. Не можна заборонити звичайну реєстрацію.

      • Множина груп учасників.

      • Множина груп учасників поза конкурсом.

        Групування, згідно з яким учасники будуть розділені в турнірній таблиці. Приклади групувань: Клас школи (1-9/10/11), курс університету (1/2/3/4/Магістр/Аспірант), райони Львівської області, області України та ін.

        Можна налаштовувати окремо для офіційних учасників та учасників поза конкурсом.

      • Множина розширених груп учасників.

      • Множина розширених груп учасників поза конкурсом.

        Додаткове групування. Також можна налаштовувати окремо для офіційних учасників та учасників поза конкурсом.

Налаштування змагання

  • Задачі змагання

    Першим кроком після створення змагання є додавання задач. Зайдіть на вкладку "Задачі змагання", натисніть кнопку "Створити" та заповніть форму додавання задачі до змагання:

    Потрібно заповнити два поля:

    • Назва Коротка назва задачі, яка буде показана в турнірній таблиці. Рекомендуємо використовувати велику латинську літеру (A/B/C/D/...).

    • Задача Задача, яку ви хочете додати до змагання. Потрібно ввести назву задачі з архіву Алготестера. Можна ввести номер задачі в архіві.

    Також у формі є інші поля, щоправда, ми рекомендуємо не змінювати їх значення.

    • Тип Можна змінити тип конкретної задачі.

    • Вартість Коефіцієнт, на який множиться вартість задачі.

    • Мінімальний час між розв’язками (хв.) Учасники не зможуть надсилати розв’язки частіше ніж вказано в цьому полі.

    • Група компіляторів Можна змінити дозволені компілятори для конкретної задачі.

    За потреби можна змінити порядок задач у змаганні. Для цього позначте дві задачі, які потрібно поміняти місцями та натисніть "Змінити порядок".

    Якщо під час змагання виникне потреба перетестувати всі розв’язки, надіслані до конкретної задачі - оберіть цю задачу та натисніть "Перетестувати".

    Для того, щоб переглянути розв’язки учасників, які стосуються лише певної задачі - натисніть кнопку "Налаштування" у відповідному рядку. Детальніше про перегляд розв’язків у розділі "Розв’язки користувачів".

    Кнопка "Перевірити на плагіат" запускає перевірку розв’язків на плагіат, та, на жаль, наразі вимкнена.

  • Умови

    Після того, як ви додали задачі до змагання - потрібно згенерувати всі умови. Перейдіть на вкладку "Умови" та натисніть кнопку "Створити". На формі з першої вкладки оберіть "uk" у полі "Мова". В поле "Назва" введіть назву змагання. Вона буде надрукована згори умови. Решту полів та вкладок змінювати не потрібно. Натисніть "Створити".

    Зачекайте, щоб умова згенерувалася (слідкуйте за сповіщенням в нижньому правому куті). В колонці "Стан" має з’явитися "Успішно завершено". За бажанням можете натиснути кнопку "Перегляд", щоб переглянути згенеровану умову.

  • Учасники

    Існує два способи додати учасника до змагання:

    1. Реєстрація адміністратором змагання. Адміністратор змагання на вкладці "Учасники" може натиснути кнопку "Створити". Тоді в наступній формі обрати учасника з зареєстрованих на Алготестері та виставити йому значення груп. В такому випадку учасник з’явиться в змаганні зі статусом "Підтверджено". Реєстрація адміністратором змагання - єдиний спосіб додати учасника в змагання з типом реєстрації Private.

    2. Реєстрація учасником. Якщо цієї миті, згідно з параметрами змагання виставленими в полях Початок, Тривалість реєстрації та Період між реєстрацією та змаганням реєстрація триває - користувачі, що відвідали сторінку змагання бачитимуть кнопку "Реєстрація". Після того, як користувачі натиснуть цю кнопку та введуть всі потрібні дані (участь в чи поза конкурсом та оберуть групу з запропонованого групування) - вони зареєструються на змагання.

      Якщо тип реєстрації на змагання Public - користувач одразу стає Підтвердженим учасником. Як тільки розпочнеться змагання - він отримає доступ до умов та зможе надсилати розв’язки.

      Якщо тип реєстрації на змагання "ConfirmationRequired" - користувач з’явиться у вкладці "Учасники" зі статусом "В очікуванні підтвердження". Користувач не матиме доступу до умов задач та не зможе надсилати розв’язки доки його участь не підтвердять. Для цього позначте користувача, натиснувши на потрібний рядок таблиці, а тоді натисніть кнопку "Підтвердити", що розташована над таблицею. В такому разі статус користувача зміниться на "Підтверджено". Якщо ж ви хочете заборонити користувачеві доступ - позначте його та натисніть "Відхилити". В такому разі статус користувача зміниться на "Відмовлено".

      Користувач бачитиме статус реєстрації на сторінці змагання у стовпчику "Реєстрація".

  • Запитання до організаторів

    Під час змагання в учасників може виникнути потреба поставити запитання, або ж організатори можуть захотіти сповістити про якісь уточнення в умові тощо. Для цього в Алготестері використовують вкладку "Запитання до організаторів".

    • Інтерфейс учасника.

      На сторінці змагання в учасників є вкладка "Запитання до організаторів". Вона містить три елементи: Кнопку "Створити". Натиснувши її, учасники можуть поставити запитання організаторам. Таблицю власних запитань та відповідей. В ній учасники бачитимуть власні запитання та відповіді, якщо адміністратори відповіли на запитання. Таблицю публічних запитань та відповідей. В ній учасники бачитимуть запитання (не обов’язково власні) та відповіді, які адміністратори вирішили зробити публічними для всіх.

      Зверніть увагу, що як тільки на запитання учасника з’явиться відповідь, або з’явиться публічне оголошення - в учасника з’явиться випливаюче вікно з відповіддю.

    • Інтерфейс адміністратора.

      В адміністраторів також існує вкладка "Запитання до організаторів". (Важливо: Не переплутайте інтерфейс адміністратора та інтерфейс учасника. Відповідати на запитання потрібно з інтерфейсу адміністратора.) В ній будуть з’являтися запитання від учасників. Щоб відповісти на запитання - натисніть кнопку "Змінити" у відповідному рядку, та напишіть свою відповідь у полі "Відповідь". Зверніть увагу, що позначивши поле "Для всіх?" - запитання та відповідь надішлються всім учасникам змагання.

      Колір запитання в таблиці відрізняється залежно від його стану. Синій - учасник поставив запитання, але на нього ще не відповіли. Чорний - ви вже відповіли на це запитання. Червоний - запитання та відповідь видимі всім учасникам.

      Інколи трапляються ситуації, коли потрібно надіслати оголошення для всіх учасників. В такому випадку натисніть кнопку "Створити", та напишіть текст запитання. Не забудьте обрати задачу, якої це стосується, або не обирайте нічого, якщо це загальне запитання. Запитання з’явиться в списку, як звичайне запитання від учасника. Тепер натисніть "Змінити", дайте відповідь та позначте поле "Для всіх?". Тепер ці запитання та відповідь видимі для всіх учасників.

      Додатково, всі адміністратори, які перелічені у вкладці "Помічники" отримуватимуть листа на пошту, а також сповіщення в лівому нижньому куті екрану про кожне задане в змаганні запитання.

  • Розв’язки користувачів

    На цій вкладці ви можете слідкувати за всіма розв’язками у змаганні. Якщо вас цікавлять розв’язки лише певної задачі - перейдіть на вкладку "Задачі змагання" - натисніть кнопку "Налаштування" біля потрібної задачі та оберіть вкладку "Розв’язки".

    В таблиці показані всі розв’язки учасників. За потреби можна "Перетестувати" певні розв’язки. Для цього позначте потрібні розв’язки, натисніть кнопку "Перетестувати" та підтвердьте свій намір. Ці розв’язки буде додано до черги системи тестування.

    Для того, щоб переглянути більше інформації про конкретний розв’язок - натисніть на його номер. На цій сторінці можна переглянути:

    • Загальну інформацію про розв’язок

    • Вихідний код розв’язку.

    • Вивід компілятора, якщо розв’язок отримав вердикт "Помилка компілювання"

    • Результат виконання розв’язку на кожному тесті на вкладці "Результати".

  • Плагіат

    Поки що у вас немає доступу до перевірки розв’язків на плагіат, тому ігноруйте цю вкладку.

  • Турнірна таблиця

    Адміністратори мають доступ до трьох типів турнірних таблиць:

    • Турнірна таблиця. Турнірна таблиця, яку бачать учасники. Не показує результати розв’язків, які здали під час "заморозки".

    • Повна турнірна таблиця. Турнірна таблиця, з "розмороженими" результатами.

    • Інтерактивна таблиця. На перший погляд, це звичайна турнірна таблиця, яка не показує результати розв’язків, які надіслали під час заморозки. Прогортайте турнірну таблицю до низу. Як тільки ви почнете натискати кнопку "пропуск" - результати учасників почнуть "розморожуватися". Якщо учасник надіслав правильний розв’язок під час заморозки - він, імовірно, підійметься по турнірній таблиці догори.