Создание задач

Создание задач

Vladimir Romanov

Сегодня я решил написать о теме, которая не даёт покоя уже несколько месяцев — создание задач, а также, почему я считаю, что в олимпиадном программирование с этим что-то не так. Время огромных текстов?

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

Для меня процесс создания задач является чем-то глубоко душевным. Я не могу просто сесть и придумать задачу. Для этого требуется вдохновение. Но есть ещё одна «проблема». Я не позволяю себе сделать задачу, которая не будет отвечать всем моим высоким стандартам. 

При создании задачи ты видишь все этапы приготовления. Можно сказать, что ты смотришь как растёт «твой ребёнок». Как бы это глупо не звучало, но я действительно отношусь к своим задачам как к детям. А как в таком случае можно прикладывать не все усилия?

Вернёмся к теме высоких стандартов. Что же я хочу от своей задачи? Ответ достаточно простой, я хочу, чтобы она была красивой. Я понимаю, что красоту нельзя нормально определить, для каждого она своя, поэтому буду говорить, что именно я считаю красивым. Красивая задача — это задача, в которой множество идей, без всякого лишнего мусора, переплетаются в решении. Особенно я люблю, когда идея напрямую следует из структуры задачи. Ещё я требую от своей задачи, чтобы она привносила что-то новое в разумы людей, то есть, когда ты полностью ее осознаёшь решение задачи, то ты чувствуешь, что потратил время не зря. Идеал задачи достигается тогда, когда существует  простой и приятный код решения, который содержит все данные характеристики.

На самом деле, нельзя говорить, что хорошая задача должна в точности соответствовать данным требованиям, но я считаю, что хотя бы одному параметру она соответствовать обязана. Поэтому я считаю, что имею полное право объективно называть какую-либо задачу плохой.

Не сложно понять, что придумать хорошую задачу реально сложно. Поэтому меня удивляют люди, которые клепают задачи десятками. Когда ты решаешь их задачи, то ты обычно просто совершаешь какие-то механические действия. Никакого удовольствия. Очень много задач создаётся чтобы просто забить пустое место на олимпиаде. Это того стоит? Почему вообще существуют проходные задачи?  Например, для codeforces нормально вообще не думать о див2 A, B, а потом создать «что-то». Может ли это кому-то быть интересно? Почему это стало нормой?

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

Сейчас все больше олимпиад состоят из плохих задач. Например, я считаю A1, B1, D2 всероссийской этого года откровенно плохими. Про всякие регионы молчу. Есть малый список олимпиад, которые меня ещё не разочаровал. Среди них ioi и открытая.

Каждый раз, когда я вижу реально красивую задачу, то я благодарю автора, ведь он создал чудо)

У меня есть ещё несколько мыслей насчёт этой темы, но думаю, что здесь следует сделать паузу. Вы можете быть со мной не согласны, но надеюсь, вы нашли над чем поразмыслить.