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

Автор Alexus, 14 лет назад, По-русски
Опытные проблемсеттеры Codeforces и его админы, расскажите, как сейчас организован процесс проверки задач очередного раунда, перед тем как эти задачи предлагаются тысяче жаждущих участников?

В прошедшем 28 раунде я попал в, увы, довольно типичную на контестах ситуацию, когда я довольно долго решал не ту задачу D, которую держали в своей голове авторы раунда, а ту задачу D, которую они написали...


К сожалению, наиболее естественное и единственно верное (с точки зрения русского языка и мат. логики) понимание условия является неверным, что можно понять только из сэмплов. Обидно, когда такие моменты (как и орфографические ошибки в русских условиях) портят впечатление от контеста, тем более задачи-то на контесте были вполне достойные и интересные.

Что главное, авторы не заслуживают того негатива, который они могут получить (и который, я, к своему стыду, частично на них выплеснул). Если уж мы говорим о контестах 2.0, то нельзя дать составление задач на откуп сообществу, все равно нужен довольно мощный механизм контроля качества - хорошие рецензенты контестов, которые (вообще говоря) могут даже получать за рецензирование какие-то баллы в рейтинг или вклад. Это вдвойне необходимо, поскольку в любом случае большая часть потенциальных проблемсеттеров Codeforces просто не обладает достаточным опытом в составлении контестов.
  • Проголосовать: нравится
  • -2
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Ты про фразу "оставив её перед туннелем" ?
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
видимо про то что имелось из условия непонятно должно быть ровно столько человек сзади или >= заданного количества. Я например понял второе. И очень расстроился за 5 минутдо кона контета, поняв, что первый сэмпл говорит о другом. 
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
да, конечно обидно когда так получается, сочувствую, сам потерял не мало времени, хотя мне не так обидно - все равно не придумал.
но с другой стороны можно задать вопрос - благо что тут всегда быстро и подробно отвечают.

вопрос:
...
l
— суммарное количество человек, которое должно ехать впереди этого грузовика, чтобы водитель смог побороть страх ("если монстр появиться спереди, то он съест сначала их")
...


а может ехать  больше чем l?

ответ:
Нет, должно ехать ровно L.

  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Конечно можно, если этот вопрос вообще придет в голову.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится
    Я конечно понимаю намерение авторов этой задачи(да и всего проблемсета) создать оригинальное и запоминающееся условие, но, по-моему, в основном непонимание было вызвано ненужной в общем-то фразой "если монстр появится спереди, то он съест сначала их". Исходя из здравого смысла можно заключить, что раз уж этот монстр насытится L людьми, то если их будет больше, то он съест L человек и отстанет(или съест и всех остальных, но все равно насытится).
    • 14 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится
      Когда я писал это условие, то вспомнил, что лет в 5 мыслил примерно так же и когда шел с кем-то по темной улице, то старался держаться ближе к середине.
14 лет назад, # |
  Проголосовать: нравится +22 Проголосовать: не нравится

Да, мы перемудрили немного. Прошу прощения.

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

 

14 лет назад, # |
  Проголосовать: нравится +27 Проголосовать: не нравится
Большинство раундов готовятся по следующей схеме. Авторы задач присылают письмо мне или Артему Рахову (RAD) с предложением провести раунд. Иногда бывает и наоборот, когда мы просим опытных участников внести свой вклад в развитие сообщества. 

Артем является координатором задач проекта Codeforces. Собственно, эту обязанность он взял на себя не так давно, поэтому еще не все процессы работают "на отлично". Следует понимать, что в данном случае Артем пошел на сознательный отказ от участия в соревнованиях в пользу развития проекта и сообщества. Это решение заслуживает уважения.

Идеи задач согласовываются с Артемом (иногда и со мной). После этого идет непосредственно подготовка задач. По каждой задаче пишется не менее двух правильных решений. Когда возможно, пишутся наивные решения, переборы и т.п., после чего авторские решения проходят стресс-тестирование с ними. Обычно, по каждой задаче у нас есть около 5-ти решений (не менее 2-х из которых правильные, остальные - подтверждающие в той или иной степени правильность). Автор и координатор совместно работают над набором тестов и по договоренности делят разработку дополнительных программ (чекеров, валидаторов и т.п.).

Тексты задач вычитываются авторами, координатором, иногда переводчиком и мной. Как мы видим, этого не всегда достаточно. Вероятно, мы будем привлекать постоянных участников в качестве дополнительных тестеров. С другой стороны, Алексей, Вы участвовали всего в трех контестах из 28-ми и, могу предположить, что такие проблемы с условиями - это не системная ошибка, а скорее исключение из правил. Если говорить о конкретно этом контесте, то я для себя оценил его на "удовлетворительно", сделав соответствующие выводы. В подавляющем большинстве контестов таких сложностей не возникает.

В конце замечу, что при работе такого маленького коллектива, у нас получаются интересные контесты на оригинальных задачах с минимальным числом багов и недочетов. Наибольшую помощь нам оказывают авторы задач, за что им огромное спасибо.

И, наконец, чтобы вся кухня стала до конца понятна, хочу предложить Вам, Алексей, стать автором одного из наших раундов. Это будет в самом деле большая помощь сообществу Codeforces.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Спасибо за подробный ответ и за приглашение. Я конечно стараюсь не делать далеко идущих выводов, благо опыта общения с Codeforces у меня мало, а хороших отзывов о проекте - много.

    Взаимодействия автора и координатора (рецензента) - это правильно и нужно, но если говорить о контестах 2.0 и работе сообщества, то нет ли у вас с Артемом планов частично перенести работу координатора со своих плеч на плечи сообщества? Могут же возникать ситуации, когда у вас не хватает времени или сил. Наконец, работа координатора куда сложнее и ответственнее и ему приходится многому учить начинающих проблемсеттеров, но тоже интересная. Чем больше людей ее попробуют, тем лучше будет качество контестов в России, разве нет?