Казалось, в своём блоге я написал уже обо всех сторонах спортивного программирования. Прошедший в субботу второй тур чемпионата сыктывкарского университета по программированию вернул меня на землю – ещё писать и писать.
Сегодня хочу поговорить о, казалось бы, малозначительном вопросе, который, однако, может вывести участника соревнований из состояния психологического равновесия и создать ощущение, что жюри только и мечтает потроллить бедных «спортсменов». Речь пойдёт о вопросах к жюри.
Напомню правила, которые действуют как в АСМ, так и при проведении соревнований по программированию других форматов. Вопросы к жюри подразумевают четыре возможных варианта ответа: «Да», «Нет», «Без комментариев», «Смотри решение задачи». К моему сожалению на протяжении многих лет даже лидеры олимпиадного программирование Республики Коми не уделяют должного внимания правильной постановке вопросов и по этой причине не получают ответов жюри, которые могли бы помочь.
Кажется, рецепт просто – формулировать вопросы таким образом, чтобы жюри могло ответить на них утвердительно или отрицательно. Как выяснилось, многие участники просто не могут сформулировать такие вопросы. Поэтому сегодня я разберу ряд примеров, которые встречались на совершенно разных контестах.
Декомпозиция альтернативного вопроса
Предположим вам захотелось задать альтернативный вопрос. Например, такой:
В случае невозможности доехать нужно выводить только NEVER или From «город» to «город»: NEVER?
Вопрос участника вполне обоснован, однако по правилам он получается жёсткое «Без комментариев». Как быть в этой ситуации? Решение очевидно. Достаточно разбить вопрос на два. Первый мог звучать так: «Правильно я понимаю, что в случае невозможности доехать нужно выводить только NEVER?». В случае отрицательного ответа жюри второй вопрос расставит все точки над «i»: «Правильно я понимаю, что в случае невозможности доехать нужно выводить From «город» to «город»: NEVER?».
Ошибка в формулировке задачи
Все мы люди, поэтому даже строгое жюри могло ошибиться при написании текста задач. Разберём такой вопрос:
В тексте задачи написано, что Вася двигался только на север и восток, а на картинке нарисовано, что он двигается на север и запад.
В этом случае участник даже не сформулировал вопрос, отправив в жюри утверждение на которое опять же получит сухое «Без комментариев» даже в случае, если ошибка в тексте задачи действительно имеется.
Здесь совет будет вновь довольно простым – достаточно переформулировать утверждение в вопрос, на который жюри сможет ответить «Да» или «Нет». В данном случае можно было спросить: «Имеется ли противоречие между фразой условия «Вася двигался только на север и восток» и картинкой на которой изображено движение на север и запад?».
При такой переформулировке ответа участник может получить сразу три вердикта. Ответы «Да» и «Нет» подтвердят или опровергнут гипотезу участника об ошибке в тексте. А вот вердикт «Смотри условие задачи» будет означать, что данное противоречие каким-то образом разобрано в других частях условиях и задачу стоит прочитать заново.
Ошибка в тестах из примера
Довольно часто участники, не разобравшись толком в условиях задачи начинают предъявлять жюри претензии относительно правильности примеров входных и выходных данных:
На входе содержится 2 и 3. Если посчитать <далее следует несколько строчек вычислений, правильных по мнению участника>, то получается, что в ответе никак не может быть нечётного числа. Ответ должен быть чётным!
И снова злобное жюри ответит «Без комментариев» или «Смотри условие задачи» в зависимости от того, на чём сделал акцент участник. Чтобы избежать такой ситуации и избавиться от подозрений в корректности примера из условия достаточно будет спросить: «Может в примере из условия содержаться ошибка?». Если жюри действительно ошиблось, вы получите ответ «Да» и ошибка будет оперативно устранена.
Объясните задачу
Часто участники напрочь забывают о формате вопросов-ответов на соревнованиях по программированию и пишут послания общая суть которых сводится к тому, что «спортсмен» просто не вник в задачу до конца:
Я не понимаю, как светофор может работать в разных режимах?
В этом случае участник однозначно получает ответ «Смотри условие задачи» и начинает злиться на строгое жюри. Единственный совет — ещё раз внимательно прочитать условие задачи, разобрать на бумаге, а не в уме пример из условия и в случае оставшихся неясностей переформулировать утверждение в вопрос: «Под режимами светофора подразумевается время горения красного и зелёного сигналов?»
Некорректные тесты
Зачастую неопытные участники отправляют жюри вопросы, касательно ошибок в тестах. К примеру такие:
Моя программа работает правильно, я проверял, а система говорит Wrong Answer 10.
В этом случае ответ «Без комментариев» не заставит себя долго ждать. Правильно указать жюри на ваш взгляд проблемный тест можно следующим образом: «Может ли на 10-м тесте выдаваться вердикт Wrong Answer в случае корректной программы». Поверьте, после такого вопроса жюри бегом бросится проверять тестовый комплект и своё решение.
Отдельно отмечу, что данный вопрос будет неуместным, если в контесте есть участники уже сдавшие проблемную задачу.
Вопросы о вердиктах системы, правилах соревнований и других
Вопросы, касающиеся ответов проверяющей системы или общие вопросы по организации также часто встречаются в форме вопросов-ответов жюри:
Что значит вердикт Runtime Error?
А когда будет заморожен монитор?
Такие вопросы следует уточнять до начала соревнований, поскольку во время контеста через форму вопрос-ответ принимаются только вопросы относительно конкретных задач. Поэтому в данном случае имеет место банальная неготовность участника к чемпионату.
Почему жюри такое злое?
Кажется, что на соревнованиях такого невысокого уровня жюри могло быть более лояльным. Неужели так сложно ответить на вопрос по существу, а не поступать формально? Такие мнения я часто слышу от коллег и участников.
Моя позиция по этому поводу следующая. Если участник пришёл на соревнования «just for fun», то ему не стоит заморачиваться общением с жюри и задавать вопросы. В этом случае надо решать задачи как получается и получать истинное удовольствие. Если же участник претендует на высокие места и рассматривает чемпионат как элемент своей подготовки к соревнованиям более высокого уровня, то в данном случае общение с жюри «строго по правилам» позволит отточить важный тактический навык, который на более крупных соревнованиях может оказаться крайне полезным.
До встречи на командном чемпионате! Поборемся!
Комментарии: