Codeforces и Polygon могут быть недоступны в период с 6 декабря, 22:00 (МСК) по 7 декабря, 00:00 (МСК) в связи с проведением технических работ. ×

RunTwice Contest во втором Universal Cup!

Правка ru1, от Gassa, 2023-12-29 13:56:36

Привет!

Следующий этап Universal Cup, Run Twice Contest, пройдёт 30-31 декабря 2023 года. Как следует из названия, все задачи соревнования используют формат run-twice. Я — автор соревнования.

Изначально этот контест был этапом Петрозаводских летних сборов 2022 года. Планировалось провести его как этап Opencup, чтобы познакомить с форматом более широкую аудиторию. Увы, Opencup с тех пор не проводился. К счастью, появилась новая возможность поделиться соревнованием с участниками вне сборов. Спасибо Qingyu и другим админам Universal Cup!  

Про Universal Cup

Universal Cup — серия командных соревнований по программированию. Помимо прочих достоинств, серия продолжает традиции Opencup. Этапы — контесты с разных сборов, региональные туры ICPC, локальные контесты и подобное. Участники получают свежие, разнообразные и качественные соревнования, а локальные авторы — возможность поделиться своими идеями.

Зайдите на сайт Universal Cup, чтобы поучаствовать!

Про Run-Twice

Run-twice — специальный формат задач. Классическая задача работает так; программы написаны с большой буквы, а данные с маленькой:

ввод > Решение > вывод > Чекер

  • Решение участника читает ввод и записывает вывод.
  • Чекер жюри проверяет вывод.

А задача в формате run-twice работает так:

ввод-1 > Решение > вывод-1 > Канал > ввод-2 > Решение > вывод-2 > Чекер

  • Решение участника читает ввод-1 и записывает вывод-1.
  • Канал жюри читает вывод-1 и записывает ввод-2.
  • Решение участника запускается ещё раз, читает ввод-2 и записывает вывод-2.
  • Чекер жюри проверяет вывод-2.

Важно, что во втором запуске Решение не знает ввод-1.

Известный пример такой задачи — IOI 2011 Parrots.

Естественное применение формата — задачи на кодирование и декодирование. Например, первый запуск из 123 делает one two three, а второй запуск видит one two three и восстанавливает 123. Или первый запуск получает правильную скобочную последовательность и выдаёт её лексикографический номер, а второй запуск по номеру восстанавливает последовательность. В этих примерах Канал жюри проверяет вывод-1 на корректность и, возможно, добавляет что-то во ввод-2 — например, длину строки.

Оказалось, однако, что формат run-twice позволяет делать далеко не только это. В соревновании я хочу показать примеры задач, которые я научился делать в этом формате.

Теги run-twice

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru4 Русский Gassa 2023-12-29 14:59:01 245
en4 Английский Gassa 2023-12-29 14:56:54 244
en3 Английский Gassa 2023-12-29 14:00:38 4
ru3 Русский Gassa 2023-12-29 14:00:25 8
ru2 Русский Gassa 2023-12-29 13:57:03 0 (опубликовано)
en2 Английский Gassa 2023-12-29 13:56:53 0 (published)
ru1 Русский Gassa 2023-12-29 13:56:36 2580 Первая редакция перевода на Русский (сохранено в черновиках)
en1 Английский Gassa 2023-12-29 13:54:00 2703 Initial revision (saved to drafts)