Внимание-внимание!!!
Сегодня команда Saratov SU #1 (Gerald, Polichka, Fefer) приглашает всех желающих на Codeforces Beta Round #28. Олимпиадным программированием мы начали заниматься еще в школе, а потом продолжили в университете. Мы прошли нелегкий путь от команды SU #7 до Saratov SU #1, и теперь стараемся оправдывать этот номер.
Мы предлагаем вам 5 занимательных задач. Вам предстоит помочь нескольким хорошим людям разобраться со своими проблемами, решить некоторые задачи администрации, поиграть в интересные игры, а также спасти мир.
Спасибо всем, кто помогал нам готовить этот раунд.
Желаем всем удачных взломов и быстрых accepted-ов!
UPD: Рейтинги обновлены
UPD:
- Задачи
- Результаты
- Победитель: dzhulgakov
- Разбор A, B, C, D, E
в обычном - за 5
Информацию в блоке в верху страницы я не заметил, а в расписание "соревнования" я не заглядывал - да, сам виноват.
А вот писем с напоминанием я не получал. Ни разу от codeforces. Первый раз узнал про такую фичу :) При этому отмечу, что письма о том, что мне кто-то на codeforces ответил, приходят мне исправно и быстро.
Девушка на фотографии очень красивая.
Давайте все выложим свои фотки и сделаем из codeforces сайт знакомств.
Главное сам аватарку себе не поставил. А остальным выкладывать фотки
))
Я на самом деле против такого рода фотографий на этом сайте.
Для этого есть специализированные сайты.
Почему бы не открывать регистрацию часа за 3 до начала? При текущих условиях комнаты наполовину(а то и больше) забиты людьми, которые не решают задачи(из-за того, что просто забыли о контесте/не имеют доступа к компьютеру), и из-за этого возможность для взлома уменьшается в 2-3 раза.
Yes, we are.
We become Saratov SU#1 only this year.
Also, is there an analysis for every round?
as I can't find the analysis for most of rounds (#25, 26, 27 to name just a few).
Thanks very much.
The STANDING said : "double click ", I had tried, but only can see his submissions history. Doest it is the same as Topcode's Challenge? But I can't see his code, how can I hack?
waiting for your reply... thx.
Объявления по условиям преследуют две простые цели:
1) Задача должна иметь единственное понимание, и понять задачу правильно должно быть как можно легче;
2) Все участники должны быть в равных условиях.
Алгоритм ответов на вопросы примерно такой.
Сначала проверяем, корректно ли поставлен вопрос и относится ли он к соревнованию - если нет, no comments.
Дальше смотрим, есть ли в условии и/или примере ответ на вопрос участника. Если есть, ему автоматически отвечают read the problem (ну или no comments, если ответ read the problem не является стандартным). Если ответ есть только в примере, и в условии нет ссылки типа "внимательно изучите пример для лучшего понимания", возможно, стоит сделать пояснение — см. дальше.
Дальше есть развитая система умолчаний (какие-то вещи предполагаются, пока обратное не сказано в условии). Например: в тестах не стоят лишние пробелы и переводы строк; после конца последней строки теста стоит перевод строки, и дальше во входном файле нет никакого мусора; если сказано просто, что даны вещественные числа, они не записаны в страшном виде типа 1.234E+056; если сказано, "во входном файле могут встречаться такие-то символы", это не значит, что "а могут и любые другие"... На вопросы об этих умолчаниях, если это нерейтинговый контест или сборы, и команда новая, можно ответить лично. Иначе — см. дальше.
Остаются случаи, когда действительно в условии есть недосказанность, неоднозначность или противоречие, или условие понять можно однозначно, но это занимает неразумно долгое время (например, часть условия можно восстановить только reverse engineering-ом примера). Тогда следует сформулировать патч к условию и разослать его ВСЕМ — ведь если ответить только спросившим, это ставит участников в неравные условия! Участник, читая задачу, не должен её вычитывать, проверяя, нет ли других возможных пониманий. Соответственно, найдя первое полностью согласованное с условием понимание, участник вправе не искать альтернативные понимания и не тратить время на вопросы к жюри. Значит, те участники, которые задают вопросы, не должны иметь преимущества перед теми, которые вопросов не задают.
Примерно так отвечают на вопросы на петрозаводских сборах, а также, насколько я знаю, на соревнованиях уровня NEERC и на Открытом Кубке.
Бывает более дружественный алгоритм ответов на вопросы. Скажем, если в длинном условии где-то в глубине есть одна критическая фраза о крайних или необычных случаях (включительно координаты или нет, бывает ли пустое множество чего-то, что выводить, если ответа не существует, отсортированы ли числа во вводе) — на вопрос можно ответить лично спросившему. Это экономит время участников и позволяет сконцентрироваться на задаче, а не на чтении. Насколько я понимаю, на CodeForces используется какая-то такая дружественная система.
Если о применении такого алгоритма известно заранее, это в общем-то тоже довольно честно — участник сам выбирает, читать или спрашивать. Хотя мне кажется, что сложно провести границу: на какие вопросы отвечать, а на какие (совсем уж глупые, отвеченные в трёх местах условия, раскрывающие подход к решению или слабо относящиеся к сути задачи) всё равно говорить no comments.
Тем не менее, отвечая на такие вопросы, следует всегда проверять, действительно ли ответ понятен из условия и однозначно восстанавливается — иначе участник оказывается в ситуации "угадай правильное условие или задай правильный вопрос", причём не зная об этом. В идеале — такие ответы должен проверять человек, который знает задачу только по тексту условия, а не по объяснениям автора.
Ещё замечание насчёт онлайн-исправлений условия, которое сегодня имело место в нескольких задачах.
Я считаю, что при любом исправлении условия об этом должно быть объявлено всем участникам. Некоторые участники открывают все условия сразу (или скачивают pdf-версию), а некоторые открывают условие, когда приступают к задаче, или даже обновляют его, когда собираются её посылать. В первом случае об изменениях никак не узнать, кроме как из объявления.
Бывают мелкие правки (например, добавление/удаление мягкого знака в слово "появится"). Когда условие неправильное с точки зрения языка, это хоть и затрудняет чтение, но всё же обычно не создаёт альтернативных пониманий. Поэтому объявлять и тратить на это время участников нецелесообразно.
Мне кажется, что такие мелкие правки следует делать уже после соревнования — и потому, что они ставят участников в неравные условия (кто-то из grammar nazi увидел один бесячий мягкий знак и получил по нервам один раз, а кто-то читал уже версию с двумя мягкими знаками... я утрирую, но от качества мелких правок действительно может зависеть скорость чтения), и ещё потому, что когда при обновлении страницы что-то поменялось, но об этом не было объявления, начинаешь искать это и тратить время и внимание.
Вот. Интересно узнать другие мнения, особенно мнение организаторов контестов на CodeForces ;) .
О подсветке изменений: хотелось бы, чтобы это не требовало дополнительных усилий от проводящих контест (если случаются изменения в условиях, значит, им и так есть, чем заняться). Например, можно просто хранить все ревизии и позволить сравнивать две ревизии; на Википедии, например, довольно красиво и понятно подсвечиваются изменения.
В идеале, если это как-то правильно сделать, потом всё объявление можно делать один раз: поменять строки условия и оповестить об этом пользователей. То есть отказаться от того, чтобы отдельно писать объявление, а отдельно вносить изменение в условие. Присылаться в качестве объявления будут, например, предложения, подвергшиеся изменению, с подсветкой — то есть насильно будет показываться diff, но не всего условия, а менявшихся предложений.
А сейчас, в надежде на безрейтинговое участие в Codeforces Beta Round #29.... попытался зарегистрироваться на контест.... система мне отвечает, что рейтинг должен быть от 0 до 1499... но тем не менее в контесте уже зарегины sonyckon и rizwanhudda. Это какой-то клюк или же я чего-то не понимаю в условиях участия?