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

Автор MikeMirzayanov, 14 лет назад, По-русски

Полную версию правил можно найти по ссылке.

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

Формат 5 задач × 2 часа мне кажется вполне удачным и рабочим вариантом. По этой причине в ближайшем будущем менять это мы не будем, хотя, конечно, возможны эксперименты и отклонения.

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

2. С началом контеста все выглядит вполне по ICPC-шному: все задачи сразу доступны для просмотра/решения, текст условий выглядит простым и понятным. Выбираешь задачу и начинаешь ее решать. Думаю, расположение задач примерно по усложнению неплохая идея. Цель участника — заработать как можно больше баллов.

3. Стоимость задач в баллах определяется следующей таблицей. Например, если была сдана задача B после 10 минут контеста, то за нее начисляется 1000 — 4 * 10 = 960 баллов. За каждую неудачную попытку положен штраф в 50 баллов. То есть, если задача B была сдана после 10-ти минут от начала с 3-ей попытки, то балл за нее равен 1000 — 4 * 10 — 2 * 50 = 860 баллов. Впрочем, сколько бы вы попыток не сделали стоимость решения не может опуститься ниже 30% баллов (см. колонку "Мин. балл (30%)").

Задача

Макс. балл

Мин. балл (30%)

Потеря (баллов в минуту)

Балл на конец контеста

A

500

150

2 балла

260

B

1000

300

4 балла

520

С

1500

450

6 баллов

780

D

2000

600

8 баллов

1040

E

2500

750

10 баллов

1300 

4. И вот наступает момент, когда вы решили задачу и отсылаете ее на проверку. Во время контеста задача проверяется только на предварительном наборе тестов (еще мы их зовем претестами). Претесты не известны участникам, на них тоже можно получить разные вердикты (например, "Неправильный ответ на претесте 7") . Их особенность состоит в том, что их не очень много, и они не проверяют решение полностью. То есть тот факт, что решение прошло претесты говорит только о том, что оно вполне разумно. Думаю, количество претестов будет от 2 до 10. Претесты скорее всего не содержат максимальные тесты, некоторые случаи и т.п. Может даже оказаться, что ваше решение каким-то случайным образом прошло все претесты — но это скорее из области фантастики.

5. После того как вы сдали задачу (т.е. отослали решение, которое прошло все претесты) в текущем положении участников вам начисляют баллы за эту задачу. Формулы я описал выше. Теперь у вас есть альтернатива — в том случае, если вы уверены в своем решении, то можете заблокировать эту задачу для себя. Если вы заблокировали задачу, то больше не сможете перепослать ее ни при каких обстоятельствах. С другой стороны у вас появляется интересная возможность взлома чужих решений участников из вашей комнаты.

6. Если в ходе контеста вы решили задачу, затем ее заблокировали, то вы можете просматривать и взламывать чужие решения участников из вашей комнаты. В процессе взлома вы можете предложить тест (или генератор его) на котором взламываемое решение предположительно не работает. Если оно и в самом деле не работает на этом тесте — то взлом успешен.Здесь нет ограничения на то — должна ли быть заблокирована задача у того, чье решение вы ломаете. Конечно, надо помнить, что взломав чужое решение в случае отсутствия блокировки на задачу у жертвы, она получает оповещение о том, что решение было взломано и может попытаться перепослать задачу. В таком случае, тестирование решения осуществляется не только на претестах, но и на всех взломах, которые были совершены для этого участника по этой задаче. Успешно пересдать задачу можно лишь только в том случае, если удастся исправить решение так, что удачная попытка взлома уже таковой не является. В том случае, если у жертвы решение заблокировано — то после его взлома участник может только расстраиваться, потому что исправить ситуацию уже невозможно (epic fail).

7. Попытке взлома подвергается последнее из прошедших претесты (плюс, возможно, предыдущие взломы) решение по этой задаче.

8. Перепосылка решения даже в том случае, если оно на текущий момент пройдено, может уменьшить ваш балл. Это произойдет в том случае, если перепосылка будет успешной (то есть пройдет претесты + взломы). В таком случае, предыдущая успешная попытка будет считаться штрафной.

9. За успешный взлом положена награда в 100 баллов.

10. За неуспешый взлом придется расстаться с 50 баллами.

11. Если вы заблокировали задачу, но ваше решение взломали, то у вас сохраняется возможность взламывать чужие решения.

12. При взломе можно как вбивать тест вручную, так и отсылать программу, которая его выводит в стандартный вывод. Программа должна всегда выдавать один и тот же тест, например, нельзя инициализировать датчик случайных чисел текущим временем. В любом случае надо очень точно следовать формату теста. Каждая строка должна заканчиваться символом перевода строки.

13. Попытка взлома может быть проигнорирована. Это происходит в ряде случаев: тест некорректный, его не удалось сгенерировать, одновременно со взломом жертва перепослала задачу и т.п.

14. Конечно же, во время соревнования категорически запрещено общаться с другими участниками, обмениваться идеями решений, взломов. И вообще, нарушение правил спортивной и личной этики может привести к дисквалификации. Также запрещается осуществлять взлом системы соревнований в любой форме. Короче, уважайте других и себя.

15. Решения и генераторы могут содержать код, чьим автором являетесь не вы, только в двух случаях:

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

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

В случае внесения изменений в код из пунктов 1) и/или 2) все эти изменения должны быть сделаны исключительно лично вами.

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

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

Например, этому правилу соответствует использование кода с сайта http://e-maxx.ru/ или из Wikipedia (если код был написан и опубликован/распространен строго до начала раунда). Соответствие правилам использования в этом случае легко проверяется с помощью кэшей поисковых систем. Аналогично, допустимо использование кода из книги/статьи, опубликованной до контеста. С другой стороны, использование внутрикомандных заготовок (например, для финала ACM-ICPC) недопустимо, если не существует надежного и объективного способа доказательства времени написания этого кода.

Это правило ни в коей мере не послабляет запрет на общение, обсуждения или какую-либо другую форму коммуникации между участниками на любые темы, имеющие отношения к задачам, во время раунда.

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

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

Все, finita la comedia, то есть game over.

Жду ваших мнений,
MikeMirzayanov

P.S. Я умышленно избегаю топкодеровского термина challenge: он плохо переводится на русский, к тому же у Топкодера могут быть амбиции на эксклюзивность челлендж-фазы и т.п. Прошу в обсуждениях использовать термин "взлом", спасибо за понимание.

  • Проголосовать: нравится
  • +23
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Непонятно мне вот что. Почему если моё решение по заблокированной задаче взломали, я не могу ломать других. Мне предоставят тест, на котором меня взломали?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    1. Надо подумать.
    2. Нет. Вероятно будет известен вердикт и статистика (вроде "Превышено ограничение времени", 33mb, 2000ms).
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Я написал сюда, чтобы узнать мнение главного правителя этого сайта.
      В последнем контесте на задачу E поступило несколько решений в духе "посчитаем в посторонней программе (Маткад или что они там используют?) и забьем в массив; затем за O(1) выведем ответ".
      Такие решения можно смотреть вот тут http://codeforces.net/contest/27/status/E?order=BY_ARRIVED_ASC
      Это решения X_x ant.ermilov anonymous_msu
      Скажите, не противоречит ли такое безобразие правилам сайта и духу спортивной борьбы?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Вполне себе метод решения. На тимусе, скажем есть задача, которую никак без такого прекалка не решить. 
        Да и в реальных контестах бывает такое, что можно запустить перебор на час и потом получить готовое решение.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Мне кажется, вполне честно делать прекальк, даже специальные задачи на это бывают, но использовать для этого маткад, или maple, или ещё что-то как-то, мягко говоря, странно - это бывает в 10 раз проще, чем написать его самому.
      • 14 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        Нисколько не противоречит, ни разу не безобразие. Более того, условие задачи само провоцирует сделать прекальк. Как бы Вы сделали прекальк, скажем, в задаче сортировки массива? А здесь - всего 1000 возможных input'ов, почему бы не предподсчитать? Кроме того, с чего Вы взяли, что использовалась "внешняя" программа? Скорее всего, использовался тот же язык программирования, на котором был сделан сабмит. Ну или, в крайнем случае, использовался Google ;) 
14 лет назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится
Интересный вопрос - в таблице результатов можно будет видеть, у кого какая задача заблокирована? Это может оказаться стратегически важной информацией.

5.Если вы заблокировали задачу, но ваше решение взломали, то у вас больше нет возможности взламывать чужие решения.

Зачем же так жестоко? Казалось бы, информация о том, что твоё решение взломано, сильно в дальнейших взломах не поможет. Или это правило нужно для того, чтобы заблокировать стратегию "отсабмитил фигню по сложной задаче, чтобы получить возможность взломов"?
Мне ещё кажется, может так получиться, что какой-нибудь слабый участник допускает в решении много багов, а сильный участник при взломе умышленно делает тест только против одного бага, чтобы иметь возможность взломать это же решение ещё один раз после ресабмита. Может, стоит ввести ограничение на взлом одной и той же задачи одного и того же человека (не более одного успешного раза)?

Вообще, интересно было бы поучаствовать в контесте по такой системе, должно получиться очень весело. Спасибо вам за огромную и важную работу, которую вы проделываете!
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    С пятым пунктом в самом деле надо подумать. По поводу "отсабмитил фигню, чтобы ломать других" - это не всегда просто. Должны пройти претесты. По поводу ограничений на взломы мы тоже думали - стоит посмотреть действительно ли они нужны.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Интересный вопрос - в таблице результатов можно будет видеть, у кого какая задача заблокирована? Это может оказаться стратегически важной информацией.
    Да :)
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Когда ожидается контест по этой системе?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Сначала будет несколько альф с ограниченной регистрацией и по баян-задачам. Думаю, на предстоящей неделе можно ждать первую такую альфу.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Да, верно. Мне "взлом" нравиться больше. По-английски будет тоже хорошо, возможно, будет так: взломать = to hack. Можно по-русски будет говорить сленгом: "меня похачили", "я похачил чье-то решение".
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

У меня несколько вопросов:

1) Сохранится ли деление на дивизионы? 

2) Если ответ на первый вопрос "Да", то в одной комнате будут участники одного и того же дивизиона или нет?

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    1. Да, сохраниться.
    2. Вроде хорошая идея, почему нет. Плюс думаю, что распределение по комнатам должно коррелировать с рейтингом.
14 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится
Мне кажется, начальные стоимости задач обязательно должны быть разными. Иначе может получиться как в TCM: если 2 человека послали все задачи, но у первого после финального тестирования упала легкая, а у второго - сложная, то первый окажется ниже второго, так как легкие задачи все сдают вначале контеста и получают за них больше баллов, чем за сложные. Выходит, что легкие задачи ценнее сложных. А в ACM-ICPC с этим все нормально потому что в конце контеста ничего ни у кого не падает.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    Согласен, очень быстрое решение легких задач будет существенно важнее решения сложных, так что, мне кажется, разбалловку нужно все-таки делать, если задачи отличаются по сложности. Кроме того, мне кажется, что разбежка 500 - 100 довольно большая. То есть получается, что можно получить всего лишь 20% от стоимости задачи. На топкодере 33%, и мне кажется, что можно эту планку и приподнять.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Звучит разумно. Разный стартовый балл, видимо, в самом деле нужен. Нижнюю планку, вероятно, тоже поднимем.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Когда был придума идея такого фомата соревнований?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Трудно сказать. Что-то похожее я вынашивал в голове несколько лет, а вот более менее четко сформировалась идея примерно год назад.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Будут ли также проводится контесты в том формате, в котором они проводятся сейчас. Или планируете полностью перейти на вышеописанный формат?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Сайт вообще панируется как веб 2,0, таким образом любой человек сможет делать контесты.
    Так что какие форматы будут нравиться этим людям, такие контесты и будут.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Я имею в виду оффициальные контесты.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Большая часть официальных контестов со временем будет проходить по правилам Codeforces. Правда, вероятно они несколько эволюционируют.
14 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Как на топодере, нужно добавлять к финальному тестированию те тесты, которые удачно свалили чье-то решение раньше.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Да, это неплохо. Пока такого не будет, но, уверен, что можно ждать.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
"Каждая строка должна заканчиваться символом перевода строки."
Это невозможно: последняя строка не может заканчиваться символом перевода строки :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Может и должна. Правильно составленный текстовый файл с тестом имеет последний символ '\n'. В hex-редакторе он выглядит как 0x0A. Я уже писал, почему.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Думаю имелась ввиду рекурсия: в последней строке если стоит новая строка, то эта новая строка будет последней, тогда в ней должен стоять перенос строки, тогда последняя строка уже другая, а в ней опять же перенос строки и т.д.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Удобное определение такое: строка файла — это то, что кончается символом “конец строки”, то есть '\n'.
        • 14 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          Неверное определение... А если в файле нет '\n'? Тогда строк вообще нет... тогда текста нет? Вот и потеряли информацию
          • 14 лет назад, # ^ |
              Проголосовать: нравится +2 Проголосовать: не нравится
            Говорят eJudge файлы тестов, в которых нет завершающего перевода строки, даже тестами не считает и не переваривает.
            Ставить перевод строки в конце файла, даже исходника, это что-то типа правила хорошего стиля. Никто же не заставляет вас делать разумные отступы в коде? Вот и перевод строки ставить тоже полезно.
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Блин.. какие вы серьёзные... Человек приколося, а вы...
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              ejudge при проверке контеста сам расставляет последний перенос. Во всяком случае, в последних версиях это так
              • 14 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                eJudge взломали!
                eJudge взломали!
                И нет сабмитов, нет контестов, все сидят в печали...

                :o)
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Для распределения участников по комнатам наверное лучше всего подойдет "корзинный" метод жеребьевки. В футболе например он используется. Суть такова:

Например 1-20 человек по рейтингу идут в первую корзину. 21-40 во вторую и т.д.

Далее из каждой корзины случайно или как-нибудь еще выбирается по 1 человеку и они идут в первую комнату. Далее также выбираются и идут во вторую комнату. И так пока не кончатся люди. Таким образом средний рейтинг каждой комнаты будет сбалансирован.

14 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
Кажется 2 часа на 5 задач + взломы достаточно мало. То есть, имхо, время нужно увеличить хотябы до 2.5 часа. Иначе вижу для себя (средний кодер) такой контест: сдаю две халявки и потом даже не пытаюсь решить остальные, пробую хакать чужие решения. В итоге никаких попыток додумать сложные для меня задачи.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я давно думаю о том, что можно ранжировать участников с одинаковым количеством сданных задач по максимальному количеству тестов, которые у них будет по задаче, которую они сдавали неудачно. То есть оценивать успешно сданные задачи по ACM, а наиболее удачную из неуспешных - по IOI. Тогда будет резон сидеть и над сложной задачей до конца. Минус этого, конечно, в том, что составление тестов должно быть более сложным, чтобы ровнее ранжировать участников.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Ну для IOI системы в самом деле хорошие сбалансированные тесты делать занятие серьезное. В предлагаемом варианте это в самом деле будет необходимо.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Мне кажется у такого формата соревнований есть несколько недостатков.
1. Стоимость задач.
Как говорилось в комментариях выше, стоимости не могут быть одинаковыми, так как это будет заставлять всех трястись над сдачей легких задач и контест из будет превращаться из "как решить" в "как бы не ступить".
2. Навязанный участнику порядок решения задач.
Предположим что задачи имеют разную сложность, от меньшей к большей. Задачи падают в цене с одинаковой скоростью, а следовательно чтобы потерять наименьшее количество баллов нужно решать легкие в начале, а сложные в конце. Не смотря на то, что в принципе средний кодер так и поступает, есть исключения, возьмите хотя бы победителя последнего SRM-а jialin. Из трех последних SRM-ов, в которых он принял участие - два он выиграл, в одном стал третьим и во всех трех он решал 1000 и 500 и проваливал 250. Причем решал в порядке 1000->500->250. Даже если скорость изменения стоимости задачи будет как-то зависит от ее начальной стоимости это мало что изменит так как порядок решения задач так или иначе будет играть роль в получении балов.
3. Накрутки на взломах. 
Если взламывать код одного участника можно больше одного раза, значит в теории это можно делать и систематически. Не критично, но возможно.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    1. Согласен (ответил выше). Поправим.
    2. Кажется что порядок задач правилами ACM тоже диктуется, да и более менее естественно это решать их по усложнению. Кстати, в случае разных весов - это не совсем правда. Например, у меня осталось времени 30 минут. На 1 задачу хватит, а на две нет - может имеет смысл решать более сложную, чтобы получить больший балл.
    3. Для этого с участником вы должны быть в сговоре + в одной комнате + думаете это не вызовет подозрений? Не так то просто сделать естественный баг, потом его исправить сохранив естественность и так далее. Я считаю, что возможность читерить есть во всех форматах (не онсайт) - кто-то, конечно, это будет делать. Однако, большинство получает фан участвуя.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Вопрос: а что делать тем, кто готовиться к личным олимпиадам? Может иногда проводить личные олимпы?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Это и есть личные олимпиады :) Командных тут ещё не придумано.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Если я правильно понял, что имелся в виду классический формат школьных олимпиад, то можно просто не взламывать чужие решения, а решать задачки. Мы же тут соревноваться будем, а так же учиться решать новые задачки (ну это для тех, кто увидит, что тут есть новые для него задачи; и потом попробует их дорешать).
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

>термина challenge: он плохо переводится на русский

испытание

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    "Я наиспытывал решений на 200 баллов"звучит хуже, чем "Я нахачил решений на 200 баллов".

    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      "я нахачил" или "меня похачили" не совсем красиво звучит, да и нет таких слов в русском языке.
      На мой взгляд лучше остановится на взломе.
      • 14 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится
        у меня вообще слово "хачить" вызывает устойчивую ассоциацию с лицами кавказской национальности...
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Мне вообще больше нравится не хачить, а хакать.
14 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

Как тут уже заметили, у этой системы есть огромный недостаток - это равная стоимость задач. Точнее получится так, что

  • Все всегда будут решать от легкой к сложной
  • Из-за этого получится, что стоимость легкой будет где-то 490, потом 460, потом 400, 340, 260. (примерные цифры без учета штрафов) . То есть самая сложная задача будет давать примерно в два раза меньше, чем легкая!
  • И так как у нас есть третий компонент - взломы, то сложные задачи даже пробовать решать будут 1-2 человека, а все остальные будут решать 2-3 задачи, а потом только хакать и хакать.

Выход из ситуации только один - взвешивать задачи. Мои идеи:

  1. Можно уравнять стоимость задач путем разных скоростей затухания. Пример - первая задача теряет 10 очков в минуту, вторая - 5, третья - 2, четвертая - 1.5, пятая - 1. Получим, что за каждую задачу можно получить примерно по 400 очков, если решать достаточно быстро и плавно (без учета штрафов). Можно подобрать константы так, чтобы за последнюю задачу получали больше баллов
  2. Можно оценивать стоимость задачи после контеста, исходя из того, сколько человек ее решило, к примеру ( Лучший вариант, так как как появляется смысл решать сложные задачи) или же определять временные константы подобным образом
  3. Дополнительно к этому можно повысить планку минимальных очков
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Ко всему сказанному могу предложить давать задачи не все сразу, а с некоторым, различным для каждой задачи, интервалом (если не ошибаюсь, так когда-то было на TTB). Тогда у тех, кто быстро отправит и закроет своё решение, будет время похачить чужие посылки.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Появилось несколько вопросов и предложений:
1)Как будет проверяться, что взлом-корректный? Будет ли сначала посылаться тест в тестирующую систему с определением правильного ответа, а затем в компьютер пользователя, или же просто сам хакер будет давать тот вариант ответа, который считает правильным? 
2)Если задача будет заблокирована, но во время контеста кто-то пошлет успешный взлом мне-она будет разблокирована в этом случае для дальнейших моих посылок? Написано лишь что я не смогу посылать взломы другим ребятам.
3)Кто будет составлять соревнования вот в таком формате? Так же, как и обычные контесты-все пользователи?
В случае если все: Если во время какого-то взлома будет обнаружен баг в авторском решении-будет ли награжден автор взлома?:)


Предложения:
1) Вот я о чем подумал: в обычных контестах мы только пишем 5 задач и в принципе на это времени у нас хватает. В этом соревновании нам еще по идее нужно взламывать чужие коды. Может, следовало бы изменить формат?
2) как я понял, разбиение на комнаты будет происходить. Но в любом случае, как бы мы не разбивали, комнаты получатся неравными по силе(в какой-то комнате есть человек с хорошим тервером, в каком-то-с геометрией, и тд и тп) Ну и вполне может случится так, что на одну из задач минимум в одной комнате не окажется взломов "на все случаи жизни". Может, следует после окончания контеста все взломы объединить и предложить их всем участникам?

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    1) Вы участвовали в TopCoder'е? Если нет, то можете прочитать мою скромную статью и поучаствовать. А если по сути, то тест будет проверяться на корректность и правильный ответ даваться не хакером, а тестером, т.е. от хакера нужно будет лишь корректный тест.
    2) "В том случае, если у жертвы решение заблокировано — то после его взлома участник может только расстраиваться, потому что исправить ситуацию уже невозможно (epic fail)." Т.е. если твою заблокированную задачу взломали, то ты можешь о ней забыть.
    3) Не ошибается только тот, кто ничего не делает.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А как по-вашему сейчас генерируются тесты? Пишется авторское решение. Вот именно это решение и будет использоваться для поиска ответа на предложенный тест.
    Насчет бага в авторском решении. На топкодере такое бывало, правда редко. В таких случаях исправляют авторское решение (как минимум, для дорешивания) и перетестируют все посылки. Если этот баг сильно повлиял на ход контеста, что в этой системе существенно, так как взламывать решения можно и посреди соревнования, то весь контест могут сделать нерейтинговым.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Спасибо большое за комментарии по моим вопросам! Собственно говоря, я так и сам думал, но на всякий случай решил спросить.

      И все равно я не понимаю, зачем нужно разбивать на комнаты? И если разбивать, то человек, который на самом деле сдал "плохое" решение в комнате "лузеров", может оказаться выше именно за счет того что писал в комнате лузеров. Или я что-то недопонимаю?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        У нас есть пласт всех участников.
        Все участники делятся на два дивизиона.
        Из каждого дивизиона зарегистрировавшиеся участники делятся на комнаты по 20 человек.

        Получаем:
         - внутри комнат можно делать взломы.
         - внутри дивизионов по завершении соревнования считается рейтинг.

        Т.е. если человек написал плохое решение в комнате лузеров, оно же всё равно упадёт на нормальных (системных) тестах, а изменения общего рейтинга для него будут считаться относительно всех участников дивизиона, НЕ комнаты.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Думаю имеется ввиду что в комнате лузеров больше шансов похакать. Но это уже наверное особенность идеи комнат, что является скорее фитчей, чем багом.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Что-же вы имели в виду?
        • 14 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится
          Я имел в виду то, что написание задачи в комнате лузеров будет фактически не онлайн-проверкой, а ожиданием, как на том же яндексе, те узнать реально ли твое решение является правильным получится только после окончания контеста.
          А в нормальной комнате твои решения будут хакаться, и, если ты не будешь блокировать их(я лично врядли буду, для меня мало смысла-опыт небольшой, те задачи которые я решу решат и другие, к тому же есть шанс потерять балл)и тебя хакнет кто-нибудь, то это заставит тебя думать дальше. А в комнате лузеров никто хакнуть не догадается правильным тестом. В итоге: после окончания, уже на итоговой проверке у людей, писавших контест в сильной комнате, больше шансов на то что задача пройдет системные тесты. Я понимаю, отчасти это справедливо, но не стоит опускать еще глубже лузеров
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Как вариант: Пускай задача уже оценена там в 500, 1000, 2500, 3500, 5000 баллов. Будем считать что количество баллов которые не доберает участник будут определятся количеством АС-шных сабмитов поступивших до него по этой задаче. Пускай изначально задача стоит 500 баллов и для нее известен штраф 2 балла за попытку. Если ее уже сдало 33 человека то после сабмита я предварительно получаю 434 балла. По окончанию контеста, на систесте слетела она у 13 человек - соответственно на финише засчитало мне 460 баллов за нее. 
14 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
Предположим, что я не умею решать задачу полностью, и знаю тест, на котором мои попытки решения не работают. Мне хочется завалить кого-нибудь этим тестом; для этого нужно пройти претесты. Значит, хочется знать ограничения на претесты — какое именно тупое решение нужно написать: ведь бывают разные неполные решения, не работающие в разных случаях.

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

Наверно, эта ситуация особенно знакома участникам индийских контестов, в которых авторы так не любят указывать ограничения: у простых задач есть много разных наборов ограничений, на которые нужны разные решения; какой же из них имели в виду?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ну вот в CodeJam например есть Small и Large inputs, при этом оба набора тестов являются полными, просто ограничения в них разные.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Про полноту Small input ничего не обещают. Бывает что он значительно менее полный, чем Large.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Тесты в small input покрывают все случаи, какие бывают при заданных ограничениях. Ну или по крайней мере авторы задач стараются сделать так, чтобы оно так было.

        Формализовать такое понятие как "полнота тестов" едва ли возможно, а уж обещать что-то на эту тему в правилах довольно бессмысленно.
        • 14 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          Вот здесь автор одной из задач утверждает, что small input специально не содержал один случай, который легко подпадал под маленькие ограничения. Также, в одном раунде была задача про файловую систему и mkdir. Я там разбирал пути а потом снова собирал и складывал в сет. Но при сборке путей я забыл вставлять '/' между именами папок и в сет складыал просто длинные строки из букв. Как ни странно это прошло меленький тест, но упало на большом. Хотя они легко могли бы включить что-то типа "/a/aa" и "/aa/a" в маленький тест... Видимо это тоже было сделано специально.

          Про обещание, они могли бы указать, что тесты содержат "все" случаи попадающие под ограничения. Т.е. если неправильное решение проходит тест, то это случайность, и вина авторов задачи, что они не смогли его сломать.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
По-моему, 40 баллов за успешный взлом мало. На данный момент минимальная цена решенной задачи равна 2.5 взломам (на ТС 1.5 для задачи 250). Т.е. надо больше взламывать, чтобы прибавка в баллах была более менее существенной.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ага, или увеличить количество участников в комнатах, например, до 40 или 50.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Ага, а где ты найдешь время просмотреть 40 или 50 решений????
14 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Тут есть еще одна уязвимость - можно для бота написать простое bruteforce решение в надежде что оно пройдет претесты, подсмотреть как другие решили и написать также для себя. Поймать это будет довольно сложно. 
Нужно все-таки делить на время кодирования и на время взлома после кодирования.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Нельзя смотреть чужой код, пока не заблокируешь задачу.

    С двумя аккаунтами правда можно

    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      под "ботом" я и имел ввиду второй аккаунт.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    да, бот-аккаунт не поймаешь... Тогда значит должны сразу выставляться нормальные тесты, чтобы брут не проходил.
    Нет, мне кажется, не имеет смысла такой вид контеста-тут мне кажется будет больше участвовать не ум, не умение программировать, а хитрость и умение подсматривать
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Никто не будет ни хитрить ни подсматривать.
      Вы отталкиваетесь от изотупичного предположения, что можно будет пройти претесты халтурным решением, что, вероятно, неправда.
      Претесты скорее всего будут проверять почти всё, за исключением случаев типа
      1. Ответ не влазит в int
      2. Ответ надо выводить по модулю, и вы делаете что-то типа if( n == 0 ) cout << 1; вместо cout << 1 % p;
      3. Вы не рассматриваете граничный вниз случай

  • 14 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Не так сложно как вы думаете. В ТопКодере тоже можно открыть задачу под другим аккаунтом, решить, потом открыть у себя и сдать - вы так делаете?
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Это да, но на топкодере задачу нужно решить в любом случае, а читерство дает только выигрыш в очках.
      В предложенной же системе все иначе. Если достаточно будет брутфорса для прохождения претеста, то можно будет подсмотреть само решение, и даже не просто идею, а еще и реализацию. 
      Понятное дело, большинство участников так делать не будет и, я думаю, верхушка таблицы будет состоять из людей, которые пишут честно, но все же читеры есть везде где только можно читерить.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Прежде взлома нужно заблочить задачу. А значит в брутфорсе нет смысла, даже если ты посмотришь чужой код.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Имелось ввиду, что при наличии брутфорса и второго аккаунта можно будет подсмотреть чужой код.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Тут есть важная разница - разные задачи в див1 и див2. Собственно, я думаю на топкодере для того дивизионы и сделаны. Хочешь читерить - выводи каждый раз новый аккаунт в див1
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

У меня два небольших вопроса:

1) Зачем вообще блокировать свою задачу? Только для того, чтобы иметь возможность взламывать чужие решения? И можно ли вообще не блокировать успешно решенную задачу (прошедшую претесты)?

2) Правильно ли я понимаю, что контест не будет разделяться на фазы, как на топкодере? (То есть, фазы решения задач и взлома по сути будут проходить одновременно: от начала до конца контеста)

  • 14 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    1)
    - Можно не блокировать.
    - Блокировать, чтобы просматривать решения. Скорее всего это нужно для того, чтобы нельзя было посмотреть чужие решения, понять свой какой-то недочёт и резко-резко исправить ситуацию. Исправить то уже нельзя - решение заблокировано.

    2) Да, видимо всего одна фаза.
14 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Хотелось бы спросить. А взламывать можно только ту задачу которую сам заблокировал (то есть А заблокировал, только чужие А и можно ломать)?
Иначе можно заблокировать, посмотреть код сложной задачи у сильных участников (переписать поменяв что-то по своему, чтобы уж совсем 1в1 не был код) ну и соответственно решить
  • 14 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Какие задачи заблокировал - те и взламываешь
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      А ну тогда отлично.
      Те кто решат мало задач вряд ли смогут взломать легкие задачи у сильных участников.
      • 14 лет назад, # ^ |
          Проголосовать: нравится +10 Проголосовать: не нравится
        Да вот тут конечно тоже есть косяк. Надо либо позволять блокировать задачу без ее сабмита, либо делать дополнительное время для челленджа (где возможно коэффициенты за удачные / неудачные челленджи будут другими), когда закончится фаза кодинга.
        Просто не очень честно то, что если человек 1 сдал какую-то задачу, остальные не могут его челленджить. Как-то это странно)
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Тут уж был разговор по поводу того что некоторые не особо честные люди могут создать бота, который сразу заблокирует задачки какой-нибудь посылкой на удачу, которая пройдет претесты, а потом посмотрят чужие решения и сделают выводы. А теперь прикинь, если дать возможность сразу заблокировать задачу.
          А то что если 1 человек сдал а остальные не могут ломать его-это более чем честно. Если не сумели написать решение-то почему это вы пытаетесь ломать чужое? А если тот один написал неправильное решение-то завалится на окончательных тестах

          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            "А то что если 1 человек сдал а остальные не могут ломать его-это более чем честно. Если не сумели написать решение-то почему это вы пытаетесь ломать чужое?"
            потому что написание кода и взлом - два принципиально разных способа зарабатывать баллы и они, на мой взгляд, никак не должны зависеть друг от друга, поскольку здесь речь идет о двух различных навыках - писать код и искать ошибки + подбирать тесты.
            "А теперь прикинь, если дать возможность сразу заблокировать задачу."
            Вот возможно именно поэтому надо сделать в 2 части - во второй части после окончания кодинга можно будет взламывать все решения.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Насколько я понимаю, текущий вариант правил не покрывает 2 момента.
1) В зависимости от задачи участникам может быть выгодно или наоборот не выгодно чтобы его решение челленджили. Выгодно - если написал не совсем понятное решение и взлом позволяет "тестировать" до окончания задачи. Не выгодно - ты написал все что мог и уверен что лучше уже не придумаешь + лелеешь надежду на то, что твое решение пройдет все авторские тесты. Другими словами ты надеешься на удачу, но сильно сомневаешься что нет такого теста который мог бы завалить твое решение. При этом естественно, что ты не хочешь дарить никому баллы. Получается, мы имеем 2 ситуации, которые могли бы довольно сильно повлиять на тактику во время контеста. Можно при сабмите сделать галочку что-то типа "пожалуйста хачьте мое решение", которая бы приносила тем кто челленджит больше баллов, чем за челлендж задачи без этой галочки. Но это все вносит некоторую специфику и наверно такие вещи вносить все-таки не нужно.
2) Наверняка найдутся люди которые будут стараться сабмитить в самом конце чтобы их решение ни дай бог не почелленджили. Может сделать после окончания фазы кодинга еще минут 5 на челлендж)?
3) Возможно стоит сделать попытки по взломам тоже с разными весами.Веса видимо должны зависеть либо напрямую от стоимости задачи, либо являться некоторыми параметрами, выставляемыми авторами до начала контеста.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    2. Ну и в путь - они меньше баллов по этой задаче получат
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Хотел бы обратить внимание на то, что исходники здесь видимо можно будет копировать, а значит поиск тестов для взлома можно автоматизировать. Это не хорошо. Можно показывать исходник картинкой с каким-то шумом и деформацией, чтобы затруднить работу всяким OCR утилитам, но что-то это мне не очень нравится. На ТК эта проблема тоже есть, но там "фаза взлома" довольно скоротечная и поэтому особо нет смысла заморачиваться перегоном картинки в текст. Хотелось бы услышать мнение авторов нового формата по этому поводу...
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    На TC, насколько мне известно, очень очень много людей распознают исходники.
    Я слышал не редко от людей, что у них уже автоматизированный процесс перегоняет решение в FineReader, а затем запускает стресс-тест против своего решения :о)
    Первую половину я тоже как-то давно писал, а вот до стресс-теста руки не доходили.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +15 Проголосовать: не нравится
      За это в свое время забанили HardCoder'а (потом в честь какого-то праздника бан сняли, но результаты видны)
      Так что те, кто так делают - большие редиски, и по хорошему с ними надо провести воспитательную беседу и сдать, если не образумятся
14 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Как-то все очень сложно придумали (много правил, много ньюансов). Ну да, ладно, главное, чтобы фан был :)

Ну и мои 5 копеек:
1) Не очень нравится, что фазы решения и взлома полностью совмещены. Мозги для них как бы совсем по-разному работают (во всяком случае у меня :). Опять же, кто слабо решает, будет преимущественно искать удачи на взломах, т.е. решать так и не научится. Предложение: фаза взлома начинается через 1 час после начала контеста (т.е. в течение 1-го часа ни просматривать, ни взламывать чужие решения нельзя!)

2) А теперь по поводу самого взлома: чтобы сделать его более интересным, надо сделать привязку количества баллов за успешный взлом к разнице рейтингов участников. То есть, чтобы выгоднее было взламывать решения топовых участников и тех, кто выше тебя по рейтингу.
Реализовать можно домножением 100 баллов на коэффициент типа:
С = 1 + (Rvictim - Rmy) / 1000
То есть,. если участник с рейтингом 1500 (как у меня) взломает решение участника с рейтингом 2000, то я получу 150 баллов. Если же наоборот, то он получит только 50 баллов. При равенстве рейтингов будет 100.
 
  • 14 лет назад, # ^ |
      Проголосовать: нравится +7 Проголосовать: не нравится
    Второе предложение нравится, только над формулой ещё подумать надо, а то, если участник с рейтингом 2000+ взламывает участника с рейтингом 1000-, его ещё и наказывать за взлом надо что ли?)
    • 14 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Такие участники просто не окажутся в одной комнате, так как в разных дивизионах.

      Но в принципе над формулой действительно надо подумать. Как вариант коэффициент ограничить снизу и сверху.

      Обе идеи понравились)
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Пока что действительно не окажутся. Но топовые участники через какое-то время наберут 2500+. =)
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Не думаю, что рейтинг 2500 так легко будет набрать - посмотрите на кривые рейтинга топовых участников, они уже сейчас достаточно пологие.

          Я исходил из предположения, что в одном дивизионе разброс рейтинга больше 1000 не будет, забыв, что в 1-м дивизионе может быть 1500. Так что формулу надо поменять на такую:
          С = 1 + (Rvictim - Rmy) / 1500.
          Плюс сделать минимальное кол-во баллов за взлом, например, 20.

          Идея была: чтобы участники взламывали решения примерно равных и более сильных. Ну и чтобы хай-левел участникам не выгодно было ньюбов хачить! :)))
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Как показала практика первого пробника, совершенно неважно из какого ты дивизиона. Хачили всех.
            Кстати на простых задачах ошибка профов ничуть не менее вероятна чем нубов. Просто профи, пока нуб думает над легкой, пытается ее максимально быстро послать и не исключено то что забудет
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Не знаю, согласятся со мной люди или нет, но мне кажется, что в каждом контесте должна быть не очень сложная задача, но такая, чтобы могла хачиться всеми участниками.
Например, есть задачи, очень простые, но практически целиком и полностью решающиеся на частные случаи. Например, решение уравнения ax^3+bx^2+cx+d=0, где есть частные случаи все нули, 1 ноль в одном из слагаемых-4 случая, 2 нуля-6 случаев, 3-4, 4-1. Правда некоторые не влияют на ответ, но все равно будет достаточно много различных случаев. Понимаю, что это будет быдлокод)))). Но все равно, придется быть внимательным к написанию и неопытный программист, который сообразит все подводные камни, тоже может с успехом похачить эту задачку, то есть как бы должен даваться шанс новичкам, чтобы думали
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Кстати вот еще предложение:давать четверть задачи(или еще как-нибудь) если задача прошла начальные тесты.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
CFBR 19 будет по ACM правилам? И сколько ещё планируется контестов на ACM системе до CF?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А смысл "Мин. балл (30%)", если он по каждой задаче меньше чем "Балл на конец контеста"?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
И кстати вот ещё вопрос: штраф начисляется на задачу или на аккаунт?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

На мыло пришло письмо

...оставил комментарий на ваше сообщение. Перейдите по ссылке http://codeforces.net/comments/466#comment-6607 для просмотра.

Надобы, наверное, как-то всё-таки разделить отсылку на почту ссылок codeforces.com  и codeforces.ru (для русско- и англоязычных пользователей).

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Да, я это описывал))
    Мне ещё с www.codeforces.ru приходило. И тоже нужно было логиниться отдельно.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А может ещё за взлом разных задач давать разные баллы? Тут, в отличии от TC, задачи уже пройдут некоторые тесты, и что попало участникам сдать не получится.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А можно будет перевламовать вломанное решение?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А вердикт при взломе "Некорректный тест" даёт штраф?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Каков тайм-лимит на генерилку тестов? :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Are you going to introduce these rules in beta round 19 or make another unrated round for greater number of people?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    The second. It will be Codeforces Alpha Round #21 (Codeforces format)
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      will Codeforces Alpha Round #21 be rated?
    • 14 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      one question, If one's solution is hacked(but not by us), can we still see the code but we are not given permission to hack or we can't see the code and there is no permission to hack?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Probably you may not see someone's solution if it's already hacked.
        It'll be so until that someone submit a new solution (if the problem wasn't closed; if closed - NO WAI), that again passes pretests And tests, that used to hack this person's solution before.
    • 4 года назад, # ^ |
        Проголосовать: нравится -13 Проголосовать: не нравится

      Is this blog updated,sir??

      • 4 недели назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        no senor, i guess since it talks about 20 participants in a room but the current contests are totally online the marking scheme and the rules about hacking might be the same overall

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Ох... сложные правила стали О_О надо разбираться в этих взломах, а то ничего не понял ~__~
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Прочитал правила: всё ясно, всё понятно.
Вот вопросик, а что, если сделать так: твоё решение пытались взломать, но ничего не получилось у ломавшего, и за каждую неудачную попытку взлома твоего решения тебе причисляются, например, 25 поинтов?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Это чтобы простимулировать обфускацию кода?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    = мы получаем возможность взять любого участника и поднять его очень высоко.
    Допустим, я сдал четыре задачи, я их заблокировал, но мне скучно. Я беру, и все поинты сливаю на то, чтобы поднять какого-то серого чувака в комнате. Так как я теряю 50, а он получает 25, он получит половину моих поинтов. Учитывая, что что-то он все-таки сдаст, ему будет очень клевенький дамп вверх :о)
    А если психов как я будет два (а лучше три :о)), то можно чувака, который ничего не сдал, вывести на первое место.

    Я думаю, если бы такое правило реально ввели, были бы соревнования по вытаскиванию серых чуваков в топ :о) Чья комната лучше откормит серого чувака :о)
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      "то можно чувака, который ничего не сдал"
      читать "который сдал самую простую задачу, об которую мы собственно все и будем его поднимать"
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Получается соревнование "чью гетто круче" ))). Цель - всей комнате посабмитить задачи так чтобы они прошли все претесты, выбрать самого толстого и разогнать его до небес))
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Я правильно понял, что согласно текущему варианту правил человек не отсабмитивший задачу не получает возможность делать по ней взломы? То есть если я 1 отсабмитил задачу в комнате (что вполне возможно), то меня никто не взломает. Это нормально?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I think that these rules seem interesting, we should see in practice how they works :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I think it would be good if there were an additionally, say, 20 minutes of hacking after the first two hours have passed. No further submissions could be made during this time, only hacking. But then again, perhaps the two hours are enough. I can't wait to try this. :)
14 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится
This contest style looks pretty cool. I don't think extra time is necessary for hacking after the contest. In Division I contests for me at least, I usually do 3 problems or so, and then don't know how to do the others :P So I'll have time to hack :D
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I don't think hacking is an effective way to get scores with this rule. (It decreases the time to solve problems, and we can't resubmit if we try to hack.) I think it will work fine if there is no penalty for unsuccessful hacking.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    But if there is no penalty for unsuccessful hacking, then people might start making hacks recklessly without analyzing the solutions.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится
      Would that really be a bad thing?

       If BF/load are issues just add an X seconds delay between hacking attempts.

      I don't really think it would be useful to try "hacking" at all. In TC challenges were already too much of an unusable gimmick for most div1 coders.  But if besides of the risk of losing points, you also add that you cannot resubmit any more and that you have to use time during coding phase it is too much.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        I really prefer it in the normal ICPC format than adding the hack stuff. As you said, challenging in TopCoder is useless for me in div1.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Sometimes too few time left and you know that it's not enough for solving one more problem. It'f perfect moment to start hacking).
    One more argument for making penalty for unsuccessful hacking - it should stop hacking flood and brute force hacking :-D
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Why revealing that a solution has been hacked at all?

Just give the outcome result to the hacker and add or subtract the points, but don't reveal anything else.

That has been proposed in TopCoder forums long ago but I can't find it anymore. 

I think that this it is even better opportunity to use these rules considering that hacking and coding phases are not disjoint here.

I find it somewhat unfair to you get the info that your solution is flawed and you get to resubmit it, but I don't get it just because someone hacked yours. This rule would prevent this.

Also, you can't submit something that doesn't work at all so that the whole room would feast on it. The submission must pass this basic test set so I wouldn't mind if two people find the same bug and both get points for it.

Please consider the idea. I really think it would fit here.

Luka
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    With current rules there is an important trade-off: you either try to hack solutions (but then the points for problems that you haven't submitted yet are decreasing) or solve other problems (but then you risk missing a lot of points for hacking). With what you suggest the second problem becomes much less critical, if not disappears at all.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Sure.

      I just think that for me as a contestant it would be much better if I didn't have to depend on other peoples strategies and luck. I can devote as much time as I like to coding and spend the rest hacking.

      Everybody choose their own strategies but it doesn't effect others. This way luck factor is greatly reduced to the room assignment. The order I check others solution doesn't matter and the time I start checking others solution doesn't matter. Only my hacking skill and the strategy I choose matters.

      While I understand your point, I disagree that having this trade-off around is valuable. It might be fun in the beginning, but I think it would be chaotic - the rush to be the first to hack would be annoying and in the end I think that luck would play a significant role to the success of chosen strategy. 

      Keeping track of the scoreboard all the time would be pretty distracting for problem solving that is still (I think) the most important part of algorithmic contests.

      Well, maybe I'm wrong :)
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Have you participated in Alpha Round #20? It was very fun! :)
        IMHO, with your system the whole idea of combining the coding and the hacking phases together almost doesn't make sense. I agree that the importance of hacking is now emphasized, but well, that's the feature of the format. By the way, in alpha round #20 ivan.popelyshev started to hack solutions only after he submitted all 3 problems himself, and still made it to the 1st place.

        As for the tracking of the scoreboard — I'm sure there will be improvements of the interface that will make this easier.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    I like the idea that contestant with hacked solution have no info about it and more than one room contestants could gain points for hacking such solution.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
What happens if I am 'confident' that I can not solve a problem in the given time. Can I lock that problem without submitting a solution and hack others solution for that problem?

I liked the idea of silent and multiple hacking by Kalinov. It makes sense.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I have a few questions about the new format:

1. The way I understand it, we cannot hack at problems we haven't submitted and locked ourselves. But we might have formulated usable test cases, even if we failed to submit. Would it be possible to lock a problem we haven't submitted - in effect we forfeit our chance to submit the problem any more in the contest - and then challenge?

2. In TopCoder, the text of solution code is unobtainable by copy-paste or any other way. This is essential to prevent automated challenges. Is there a similar restriction in the new format?

On the whole, this new format looks promising. Looking forward to the first rated match.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    2. In TopCoder, the text of solution code is unobtainable by copy-paste or any other way. This is essential to prevent automated challenges. Is there a similar restriction in the new format?
    No, you can't copy-paste other's solution.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Few more questions about the new format:

1- Rules talk about obfuscation, but is there any restriction similar to TopCoder's unused code rule? I have many defines for input reading in my Codeforces source template. They aren't meant to make it hard to read the code, but most of them are not used in a single problem, so there is a lot of unused code. For the CodeJam I added a comment at the beginning explaining the source file structure and where to find the problem solution related code.

An example of the defines are
#define InInt(N) int N; scanf("%d", &N)
#define InVectorInt(X, N) vector<int> X(N); for ( int i = 0; i < N; ++i ) scanf("%d", &X[i])

The input section of the main method may look something like
...
InInt1(N);
InVectorInt(points, N);
...

2- It has been stated that you can't hack without successfully passing the pretests, but how about making a solution that one knows passes many cases but not all. Submitting it, and adding small hacks to it until it passes the pretest and locking it. Then I start to hack others, what happens if my code gets hacked? Can I still hack others? Is it considered fair to have such an approach to be able to get hack points even if I can't solve the real problem? Rules says that worst cases aren't tested by the pretests, so maybe I can make a brute force, or maybe an O(N^3) solution when N <= 500, knowing that worst case won't pass but maybe pretests are small enough. If this isn't considered ethical enough (rule #14) it would be hard to determine if it isn't an honest mistake, so maybe allowing to lock a problem without passing pretests is the only way to really disallow this.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    what happens if my code gets hacked? Can I still hack others?
    You can still hack others
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

првильно ли я понимаю :

я могу взламывать только те задачи, которые я на етот момент здал и заблокировал ?

и если у меня задачу взломали, то возможнось взлома терятся или нет ?

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    >я могу взламывать только те задачи, которые я на етот момент здал и заблокировал ?

    да

    >и если у меня задачу взломали, то возможнось взлома терятся или нет ?

    нет, не теряется


14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
There seems to be a week point in the in-time-of-contest hacking. If someone with a fake ID (or lets say two friends) are in the same room, he may submit for N times (for an arbitrarily large amount of N) using his fake ID, and hack his solution with th original ID. This way, he gets 100*N points for free (which worths a lot for an arbitrarily large amount of N) :D
P.S. I can see that this way you will be mention his cheating and will disqualify him, but it's just a matter of canceling the potential of cheating as much as you can. Also, note that you won't even think of cheating if the process is done for a small value of N.

Solution: Don't let someone hack another ones solution for more than once (or twice)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Sorry for writing in Persian:
    بابا اینها عقلشون به این جاها نمی رسه
    فقط ما ایرانیها این چیزها به ذهنمون می رسه
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    راضیم ازت، عالی بود!
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Есть предложение удешевить штраф за взлом. Цель - чтобы люди учились и не боялись взламывать другие решения. Естественно, это только во втором дивизионе, т.к. в первом люди будут просто взламывать всю комнату на группе тестов и это почти всегда будет прибыльно. Зато во втором дивизионе будет очень выгодно много взламывать и люди будут чаще пользоваться этой возможностью
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А чем это невыгодно во втором дивизионе?
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Непонятен вопрос. Я как раз и говорю, что надо во втором дивизионе это применять. А в первом нельзя, потому что потеряется аккуратность и точность взломов. Раньше ты должен был аккуратно проверять каждое решение, а теперь сможешь составить коварный тест и прогнать его по всей комнате
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Я имею в виду, что участники второго дивизиона точно так же смогут придумать коварный тест, и прибыли от прогона его по всей комнате скорее всего будет не меньше. Такой подход только расслабляет, многие начнут валить решения "от лампочки", так как серьезного штрафа за это нет(а вероятность успешного взлома сохраняется). В результате, теряется точечность в выборе решний для взлома. К тому же, сегодняшние втородивизионники завтра могут перейти в первый див(и наоборот), а там уже совершенно иные правила.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Тогда можно попробовать придумать что-нибудь другое, но из той же серии. Например первый взлом - бесплатный. Или постепенный рост штрафа за неверный взлом
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Идея постепенного роста штрафа лично мне очень понравилась.
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            По-моему как раз постепенный пост штрафа еще больше отобьет желание взламывать.

            А вдруг я ошибусь? А вдруг неверный взлом будет? А потом еще больше штраф будет? Нет, лучше не буду взламывать...

            А сейчас штраф достаточно небольшой, одинаковый для всех и понятный. И бонус за удачный взлом точно такой же ясный и понятный.
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Странная логика. Лучше не ошибаться, потому что потом ошибаться дороже. Какой же смысл стараться поменьше платить за ошибку, если боишься пытаться? Или если уж ошибаться, то как нибудь по-красивому?

              А если каждому сделать первый взлом бесплатный, то по-моему контесту хуже не будет, а каждый человек будет делать 1 взлом за контест. Так, постепенно, все научатся взламывать.
              • 14 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Очень хочется услышать мнение администрации сайта по этому вопросу. Спасибо
                • 14 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  В настоящий момент администрация считает, что фиксированный штраф в 50 баллов - оптимальный вариант
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Думаю, что правила должны быть одни для всех.
        Никто же не запрещает взламывать?

        А инициатива она всегда наказуема.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Никто же не запрещает взламывать?
          И никто не заставляет.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А почему не сделать фазы взлома и решений разными?
Час 30 (2 часа) решаем задачи, потом минут 30 на взломы, причем почему бы не иметь возможность ломать решение задачи, которую ты сам не решил?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Думаю в таком случае пропадёт много фана и динамичности.
    А так уже целые тактики есть что и как делать. :-)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ну вот казалось бы это и есть TC формат. А тут фишка в том, что поломанные решения можно исправлять, а так же в том, что надо принимать стратегические решения - челленджить или решать
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Будет ли разделение на дивизионы в новом формате соревнований?

Не очень понятно, почему в beta-раундах участникам из второго дивизиона доступны все контесты, а из первого - только для первого? Может быть, второму дивизиону стоит ограничить доступ к контестам первого дивизиона и поднять там уровень задач?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Разделение должно быть. :)

    Усложнить? о_О Последние пять рейтинговых контестов для обоих дивизионов в среднем только три участника решали все задачи. (Да, я посчитал.)
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Ну такая статистика и вправду не свидетельствует в пользу изменения сложности задач.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Айда chat on! :)
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Хм. С одной стороны у contest 24 не написано Codeforces format. С другой - при регистрации на контест нас отправляют на эту страницу. В связи с чем возникает вопрос:

По каким правилам пройдет contest 24?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Меня это тоже удивило. Михаил ответил, что контест пройдет по правилам АСМ.
14 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
Скорей бы ещё один такой контест=).. Хоть и не рейтинговый.. хоть даже по свечкам..
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
round #26 is rated or not??
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Логично сделать возможность блокировки неотправленной задачи. А то те, кто сделали полурешение, кот. проходит претесты, получают достаточно большое преимущество (возможность взлома) по сравнению с теми, кто не захотел писать полурешение.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Сразу вижу проблему, когда все заблокировали задачу не решив. Тут как раз и фишка в том, чтобы валить тех, кто написал полурешение. А если никто ничего не написал, получается фигня какая-то
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      т.е. вы хотите, чтобы остался стимул писать полурешения? Я в таком стимуле не вижу ничего хорошего. Решение нужно писать либо полное либо вообще не писать.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        А я не вижу в этом стимула писать полурешения. Потому что из-за наличия претестов это полурешение будет достаточно сложным, а не просто пару if'ов, да и наверняка не будешь знать, пройдет ли оно эти самые претесты. А так рисковать и тратить время ради одного-двух в лучшем случае успешных взломов глупо. Так что те кто сделают полурешение теряют достаточно большое преимущество в виде времени)
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Я лишь хотел сказать, что не вижу смысла блокировать задачу не написав ничего по ней. В этом случае все будут блокировать сложные задачи, чтобы пытаться найти ошибку у других. Тогда будет сильно меньше отправок и контест будет менее живой.

        Кроме того, это облегчит такую схему читерства. Я под одним аккаунтом блокирую свое решение и смотрю решение топового участника. После чего я отправляю в точности такое же решение с другого аккаунта. А с данным ограничением мне придется знать, как именно пройти претесты. А судя по правилам претесты проверяют правильность решения и не проверяют лишь крайние и граничные случаи, т.е. видеть верное решение уже не так сильно поможет при сдачи задачи.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Снимаются ли баллы за некорректный тест для взлома?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Да
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Наверное
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Уточню. Баллы снимаются если решение корректно отработало.

    Если сам тест не корректен (ну например не укладываться в ограничения или в условии обещано какое-то свойство а оно не выполняется) то вроде нет.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Hey everyone I'm new to this website and I have a question about submitting my codes. I tried submitting a java type file and i kept getting an error. any tips on how one should go about submitting your code for a contest.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    What error?
    Here's a sample Java solution for problem A from beta round #1
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    You can check other solutions. Some steps:
    1. Proceed to the "Contests" page. (link)
    2. Enter one of the previous contests. (example)
    3. Proceed to the "status" page (status)
    4. Find some accepted solutions in Java
    5. Look at the code clicking the solution ID link.

    P.S. It seems to be that you just print the answers for the sample tests. Instead you should read the input data from the standard input stream.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Is it no more possible for DIV1 contestants to take part in contest only for DIV2 and be out of competition?
14 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится
while I see the benefits to this approach, I never liked the whole hacking thing.  TopCoder does it and has been doing it for a long time, so fine, let it be.  I did like the original CodeForces judging way, such as used in the first 5 contests and onwards.  Having said that, I am not entirely opposed to the new way.  I haven't tried the new rules yet, so it will be interesting to see how it feels.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Уточните, пожалуйста.
Если посылается задача, которая неправильно компилируется, снимаются ли за такую попытку баллы как за штрафную?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Вопрос банальный, но все же:
Я зарегистрирован на 28 раунд, но не смогу принять в нем участие. Это никак не отразиться на рейтинге?
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Can I do a request? Plz Plz don't forget the ICPC formet. Have some contests on that format also plz.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Есть вопрос, даже скорее пожелаение...

Почему нельзя сразу тестировать на претестах и финальных тестах, также сразу делать таблицу конечных результатов, но пользователю, во время олимпиады, отображать только как прошли претесты и таблицу "предварительных" результатов. (ну т.е. то как есть сейчас)....?????

Обобщю.... можно плюс ко всему, что есть сейчас, добавить тестирование на финальных тестах, но без отображения пользователю во время олимпиады....

Это ускорит работу по созданию конечных результатов !!!

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Загруженносьт сервера... не?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Это логичная идея, и вроде бы на топкодере так и поступают. Во время контеста претесты по идее создают очень маленькую загруженность (в самом деле, есть 5 задач, по каждой не более 10 претестов, а тестирующих машин - тоже около 10).

    Я думаю, просто до реализации этой фичи ещё не дошли, - и так вон пока виртуальные пользователи только-только реализованы.

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Can you resubmit your code after locking your code or your code be hacked by others?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    If you lock your code you can't resabmit it. In any other situation you can do it, but the score on this problem wiil be less, becose of time between submitions and 50-points penalty.
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

What about the following idea: after the finish of each contest, problemsetters upload all tests to all their problems as an archive (to some site). It's not difficult for authors to take an archive from the system ('Polygon') where the problems are created.

I don't know when the feature of viewing test data will be available on Codeforces, so I suppose this is the best solution. It's really not a good idea to ask tests in comments on the site, IMHO.

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
On the 32nd round I noticed div1 contestants couldn't hack others' solutions. Is it going to be like that in div2 only?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Will out of competition user's rating change after the contest??
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I think codeforces can add a function that contestants can view others' codes after the contests in his/her room.
During the contest, I may not find a program's bug. When it failed system tests, I want to see it again ..
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
I was looking for these rules on the site without much luck - the link is provided in the email, can it be visible somewhere on the Home or Contest pages? I see now that the link can be found under 'Recent Actions' but, at least for me, it is not really a place I would go to when looking for the rules.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
can u please allot div 2 members to seperate rooms and div 1 members to seperate rooms ?? like they do in topcoder ...
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    In the case div 1 and div 2 are together - the div 2 contestants' wrong solutions will be hacked earlier and they'll get an opportunity to resubmit a correct solution.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Внесу ещё такое небольшое предложение по интерфейсу. Только во время последнего контеста заметил, что текущие баллы за каждую задачу справа отображаются без учёта ресабмитов. А если бы они были с ними - с пересчётом для конкретного участника - было бы лучше.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
И еще одно предложение: во время финального тестирования как-то трудно визуально различать случаи "Финальное тестирование не пройдено" и "Финальное тестирование ЕЩЁ не пройдено".
Можно кликать по ячейке, но это неудобно.
Или может я чего-то не знаю?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Вообще это отображается в посылках участника. Если еще тестируется, то пишет что в очереди.
    Хотя, конечно, согласен, не удобно.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Предположим я сдал задачу, потом понял, что в ней есть ошибка и перепослал(взломать меня не успели). Получу ли я за это -50 баллов? Раньше мне казалось, что конечно получу, но в правилах об этом ничего сказано, а если к тому же первое мое решение пройдет, то и "неудачной" эту попытку назвать нельзя, так что теперь я не уверен.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    8. Перепосылка решения даже в том случае, если оно на текущий момент пройдено, может уменьшить ваш балл. Это произойдет в том случае, если перепосылка будет успешной (то есть пройдет претесты + взломы). В таком случае, предыдущая успешная попытка будет считаться штрафной.


14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Просто те баллы, которые ты за нее получал снимаются, а вместо них ставятся баллы, которые давали за эту задачу в МОМЕНТ ресабмитта, скорее всего так, а вот неудачные сабмиты вроде уже дают минусы...
14 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится
@MikeMirzayanov: Any particular reason why successful hacks are not added to the global system tests?

I am asking because some hacks may expose bugs that the system tests may not cover.  In such a situation, a solution may get accepted because the author of the hack failed to check the solution or was in a different room.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Please fix "loose" to "lose". :)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Heyi.. how to register for contests? i am new to this site. and i didnt find any link which refers to "Registration for Contests".. i am little bit confused. am i eligible for contests or not? please give me an answer quick , so that i can register quick if i am eligible... 
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Hi, im new here.. I am just wondering .. what if i don't submit a prob ? Will that reduce my results? (Please don't mind if my English is not so good..)   ^_^
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Your rating changes if and only if you submit a solution. You may carelessly register and watch prob. statements (you can do it even logged out) without worrying about rating. :)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Я что-то недопонял: если я решил, например, задачу А и заблокировал её для себя, то я могу взламывать  только другие решения задачи А ? Или я могу ещё взламывать решения задачи В или С?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Если Вы заблокировали задачу А, то можете ломать другие решения только по задаче А.
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

I have noticed I cannot cancel my registration to a contest anymore. If I'm not mistaken, now the rules are that if you send a solution you will be rated.

UPD: Ok now I'm sure about it. It's a pity I cannot partecipate in this round... waiting for next week :)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Давно крутится в голове такая идея... предоставить пользователям возможность устраивать для себя самим контесты по задачам с прошедших раундов. Условно, участник выбирает раунд, "включает" его для себя и получает возможность в течении 2-ух часов сдавать решения по задачам тура и получать результат проверки ТОЛЬКО на претестах, а по истечении 2-ух часов получать результаты полной проверки по всем тестам.
Было бы очень удобно для тренировок по задачам кодфорсес и подготовки к рейтинговым контестам.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
п.4 формата: "Может даже оказаться, что ваше решение каким-то случайным образом прошло все претесты — но это скорее из области фантастики." - Это юмор или как?
»
13 лет назад, # |
Rev. 2   Проголосовать: нравится -35 Проголосовать: не нравится

Кстати, чисто топкодеровский подход к делу... Интересно бы посмотреть, кто умудрится написать идеальный код, который просто невозможно взломать;)...


UPD.

Ненавижу, когда какие-то балбесы, мягко говоря, ставят минусы, даже сами не понимая, почему. От великого ума, наверное...

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +20 Проголосовать: не нравится
    Почти всегда пишу такой на задачу А.
»
13 лет назад, # |
Rev. 2   Проголосовать: нравится -31 Проголосовать: не нравится

Я думаю, что было бы не плохо изменить название вердиктов на английский, т.е. Accepted, Wrong Answer, Time limited, это было бы куда удобнее и привычнее, или хотя бы, возможно, сделать выбор языка вердиктов. Помню часто на CF были у меня косяки когда видел    Ошибка времени исполнения  , увидев слово "времени", происходили ассоциации с вердиктом TL, что убило меня т.к. в задаче было 6 математических действий. Да и вообще как-то красивее по-моему вердикты на английском.

UPD 

Решил предложить небольшую идейку, нет блин народу же надо минусовать на за что. :(

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится
    Как вариант, можно использовать английскую версию сайта :)
    Думаю, что это неоднозначный вопрос. Кому-то нравятся вердикты на русском языке, кому-то на английском. Хотя, мне тоже нравятся на английском :)
    • »
      »
      »
      13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Как вариант он, конечно, есть, но немного неудобно переключаться между языками, т.к. охота условие задач читать на родном языке, учитывая что CF подвисает во время контестов, то вообще мне не импонирует лишний раз обновлять и изменять язык =)
      • »
        »
        »
        »
        13 лет назад, # ^ |
          Проголосовать: нравится +9 Проголосовать: не нравится
        Если на сайте была бы возможность переключения между способами отображения вердиктов, было бы наверное удобнее. Но, у многих ли есть в этом острая нужда? :)
        Поскольку это задача не первоочередной важности, то думаю, что если она и будет реализована, то очень нескоро :)
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    Это уже много раз обсуждалось. Надо привыкать к общепринятому варианту.
    По UPD: Не пишите про минусы, это раздражает народ ещё больше.
  • »
    »
    13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    А ваc не смущает `time` в runtime error?

    • »
      »
      »
      13 лет назад, # ^ |
        Проголосовать: нравится -8 Проголосовать: не нравится
      Между прочим у меня тоже случился шок, при виде такой надписи "ошибка времени исполнения". Это нормальный русский термин, я его слышал, но я к нему не привык, и заглючил.
»
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
How a contest point include to CodeForces rating point ??
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится
    Only the rank is important. Points as numbers don't mean anything.

    Exact formula is not public.
»
13 лет назад, # |
Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится

Хотелось бы услышать мысль  MikeMirzayanov об этом:

Согласно пункту 14 правил, изложенных выше - это честно? Не то, чтобы я был против этих парней, но, может, нужно как-то наказывать участников, которые играют нечестно? И будут ли в будущем проверятся попытки сдать чужой код во время соревнования? Моя мысль - нужно банить.
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Сделай нормальные ссылки (нужно ткнуть на #).
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Индусская мафия, блин.
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Банить быстро, решительно!
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А они опять где-нибудь проявятся...

    В принципе можно оставить всё как есть. Нормальные люди приходят сюда качать свои скиллы (и расти) - а читеры тупо тратят время и роют себе могилу (как разработчикам)...
»
13 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
I have a suggestion. 
Maybe... we can get different scores after hacking different problems.
i.e. for problem X, if its max. score is S, we can get S * 10%  points after a successful hacking attempt, or lose S * 5% points after unsuccessful hacking attempt. 
Er, just a personal thought,^_^...
  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    It is not a good idea, I think. The difficulty of a problem is not relevant to the hacking difficulty. Sometimes it is easier to hack harder problem since there is a good chance for someone to have buggy implementation or wrong algorithm on it. On the other hand, sometimes tricky easy problem gives more opportunity for successful challenges.
»
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Can I see the test case that was used to hack my solution after the contest?
»
13 лет назад, # |
Rev. 2   Проголосовать: нравится -9 Проголосовать: не нравится

nothing to say

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    По оригинальным правилам CF, по которым тут прохотят раунды — 2 часа, правила квалификации несколько отличаются.

»
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Я в первый раз на сайте, зарегистрировался на соревновании но не могу понять, как начать участие?!

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Жмите кнопку "войти" на вкладке "Соревнования". Там читайте задачи и сдавайте.

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

»
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How can I see the whole input in Source view? i.e. Test #6

»
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Я тут впервые, так что извините за, возможно, глупый вопрос: гуглить можно?

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Можно, но не нужно:)

    • »
      »
      »
      13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ну я, к примеру, забыл, как читать из файла/стандартного ввода. Это загуглить — тоже не комильфо?

      • »
        »
        »
        »
        13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        Если ты будешь гуглить, как читать входные данные, то не успеешь решить ни одной задачи.

        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится +6 Проголосовать: не нравится

          Я так понял, что гуглить не возбраняется, но на это времени толком нет. Спасибо за ответы :)

      • »
        »
        »
        »
        13 лет назад, # ^ |
          Проголосовать: нравится +11 Проголосовать: не нравится

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

        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится +11 Проголосовать: не нравится

          Большое спасибо! Вы ответили на мой вопрос наиболее понятно :)

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

So many experts are here,I'd like to raise my quesiton:I wonder how can I get a shirt if possible ? Thanks beforehand.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I have a doubt . If I solve the first problem 10 minutes after the start of competition and second problem after further 15 minutes i.e. 25 minutes after the start of competition . Then while calculating the score for the second problem solved will the time considered bye 25 minutes or 15 minutes . If it is 25 minutes , then is it not better to solve difficult problems first because there the penalty is larger . The text says it is better to solve problems by order in difficulty ( ascending or descending ) . May be difficult problem will large time so will affect time of larger number of problems , hence ascending order of difficulty . But just clarify which time will be considered . Thanks .

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Ofcourse 25. Otherwise, one would submit the solutions all at once. Even after 115 minutes, this way would give 30 % of 500 to one problem and full score to remaining problems.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А что насчет того, чтоб можно было видеть первые попытки решения задач? Выделить, как-нибудь вроде как на neerc.

»
12 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Если я заблокировал свое решение для задачи, а затем придумал контртест для него, почему бы не разрешить мне взломать самого себя? Баллы за задачу я потеряю в любом случае, но заработаю 100 очков за взлом.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится

    В случае очень неполных претестов это дает возможность специально сдавать заведомо неверные решения и зарабатывать на них 100 баллов.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Потому что так можно специально за eps до конца сдавать неверные/неоптимальные решения(когда уже другого не придумаешь) и получать баллы нахаляву

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Так ведь вроде теряете вы 50 баллов. Цикл положительного веса получается :)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Цикла здесь нету — с каждой задачей такое только 1 раз получится)

      Но халява действительно есть)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Это если считать, что для взлома своего решения надо его заблокировать, а это правилами не оговаривалось) Откуда нам знать, может правилами запрещается только лишь смотреть чужой код по незаблокированной задаче, а уже из этого следует невозможность взлома? :)

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Да ладно вам) За что минуса, хоть, скажите)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

    На основании идеи "хакать самому себя" возникла альтернативная идея: возможность "отозвать (отменить) своё решение". Если сам понял неправильность своего "решения" -- имеешь возможность хотя бы не кормить соперников баллами за хаки.

    Я не говорю, что она суперценная, но всё же интересно, видят ли другие в ней какую-то ценность и какие-то принципиальные недостатки?

»
11 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится

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

»
11 лет назад, # |
Rev. 4   Проголосовать: нравится +28 Проголосовать: не нравится

Пара вопросов по пункту 16:

  1. Считается ли обфускацией отправка кода, транслированного из другого языка (не поддерживаемого системой)?

  2. Если на первый вопрос ответ "да", считается ли обфускацией транслированный код + исходный код в комментарии?

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Блин, такая идея! Такая идея! Берем неподдерживаемый язык; компилируем в какой-нибудь javascript; в комментариях кладем исходник, но с явной ошибкой; ловим лулзы на влзломах :)

    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      Разумеется, такие ситуации должны быть запрещены :)

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится

    Считается ли обфускацией отправка кода, транслированного из другого языка (не поддерживаемого системой)?

    Наверное, это должно зависеть от языка, в который транслируете. Если в Perl, то да.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    А что во что Вы собрались транслировать, если, конечно, не секрет?

    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится

      В C, как самый низкоуровневый из доступных.

»
10 лет назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

В четвертом пункте опечатка: "еще мы их зовет претестами"

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Вместо того, чтобы закидывать downvote-ами, может объясните мне, в чем я не прав?

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

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

»
10 лет назад, # |
  Проголосовать: нравится -21 Проголосовать: не нравится

Please even once vote up my comment ! I'd be happy.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится

    There.

    Too bad I'll downvote repeated versions of this post and any other offtopic/spam comments, so you'll, in fact, lose contribution due to trying too hard...

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится -6 Проголосовать: не нравится

    Sorry, my screen was upside down
    Voted down by mistake....
    You cant expect people to upvote you for that comment...

»
10 лет назад, # |
Rev. 4   Проголосовать: нравится -27 Проголосовать: не нравится

.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Можно ли принять участие в 2-ой квалификации, если в первой команда не набрала достаточное количество очков для прохода в 1-ый раунд?

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Зачем подразделяются участники на комнаты?

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Цитата:

    6 Если в ходе контеста вы решили задачу, затем ее заблокировали, то вы можете просматривать и взламывать чужие решения участников из вашей комнаты.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится -7 Проголосовать: не нравится

      Почему не сделать так, что можно взламывать решения любых людей?

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Я думаю, чтобы ограничить количество баллов, которые может получить за взломы один участник. Иначе можно найти один удачный тест и после этого до конца контеста ломать всех подряд, получая over9000 взломов и ничего больше не решая.

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится -29 Проголосовать: не нравится

          Можно вообще научиться решать задачи, и только и делать, что сабмитить решения по всем задачам в начале контеста, а потом идти в бар и никого больше не ломать. Кажется, несправедливо, что кто-то может забить на взломы, просто-напросто решая гробы и получая over9000 очков.

          просто шутка

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

Why no format requirement? I posted code like ~~~~~ printf ("%d ", a[i]) (i meant several spaces but it only display one and i dont know y) ~~~~~ and succeed.

Besides, where I make private special judge(That means no fixed answer) (Another website is also alright)

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Hi I am quite new to Codeforces.

I am have a couple of questions:

a) If I have locked my solution, and someone hacks my solution(as it happened today), then can I unlock my question to resubmit it? Also will I be receiving any points for a submission that passed the system pretests but got hacked later. As I see, it is showing '-1' in the points table against that question.

b) Also, how to hack anyone's solution. How to create a hack? Etc.

By the way, can anyone tell me what is this Virtual round? DO I get ratings for participating in Virtual rounds?

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    First of all, you have posted this message in Russian branch and most of English-speaking users couldn't see it)) Answers to your questions:

    a) You couldn't unlock your locked submission in any way. And you receive some points if and only if you solution pass all test cases.

    b) During the contest you could open standings in your room and open solutions of the other contestants.

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Hi I am quite new to Codeforces.

I am have a couple of questions:

a) If I have locked my solution, and someone hacks my solution(as it happened today), then can I unlock my question to resubmit it? Also will I be receiving any points for a submission that passed the system pretests but got hacked later. As I see, it is showing '-1' in the points table against that question.

b) Also, how to hack anyone's solution. How to create a hack? Etc.

By the way, can anyone tell me what is this Virtual round? DO I get ratings for participating in Virtual rounds?

»
9 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

Can I use third party algorithm or data structures? Not other participants code on the contest. And can I use other participants codes from previous contests? Writing DFS from scratch is so difficult. -Edit. Sorry I missed clause 15.

  1. Solutions and test generators can only use source code completely written by you, with the following two exceptions:

1) the code was written and published/distributed before the start of the round, 2) the code is generated using tools that were written and published/distributed before the start of the round.

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    But now I have another question. Is there any compile-time limit? If an open source third party algorithm library is big, can I copy and paste whole library into my Source.cs file?

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      As far as I remember, compilation time limit was 10 or 15 sec but I think you'll hit source limit first

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Whom to contact for errors in system testing ?

»
9 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

Maybe I'm really slow, but I haven't found the unambiguous answer to whether we are allowed to use our own pre-written code?

the code was written and published/distributed before the start of the round

I guess it implies that I can implement all the classical algorithms myself (instead of writing it from scratch every time or unethically copy-pasting from public sources) and publish it on GitHub or other hosts.

Could anyone please confirm?

»
8 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Let a solution contain uninitialized variables. It may or may not return wrong answer during pretests. I tried to hack such a solution, but got unsuccessful hacking attempt. Is there a way by which we can hack these solutions surely. (Not on chance!)

  • »
    »
    8 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    No

    Read about undefined behaviour :)

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    For Educational Rounds, you can download the exact version of compiler used and test locally (you will need Windows for that). An alternative is to use custom invocation tab. I don't think there is any good way to challenge them in the normal rounds though.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I have one question though:
Suppose i keep getting wrong answers on pretests during multiple attempts, will i get penalty for points even though my solution never got accepted.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    No you won't. The penalty decreases the score of the problem for you, not your score. So if you have 500 points, and you make WA on a 1000 point task, then you'll still have 500 points, and the 1000 point task will become 950 point task.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

You shouldn't hold any contest. It's a shame

»
6 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

If my solution passed pretests, and I fixed my solution and resubmited it. After that my previous submission was hacked, how will my points and hacker's points change?

»
5 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Хотел бы задать вопрос. Я поучаствовал в Codeforces Round #572 (Div. 2). Я заслал ровно одно решение, которое прошло и претесты, и системное тестирование. Задачу я не блокировал, никаких решений взламывать не пытался. Но у меня почему-то отнялось 80 баллов. За что? Я же решил одну задачу!

  • »
    »
    5 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Это штрафные баллы, чем позже отправил, тем больше отнимут, отсылай задачу раньше и отнимать будут меньше.

»
5 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I just noticed that today I am not able to participate in the contest which I've already registered in. Now in this case (which I can't enter the contest) is this going to affect my rating or not?

»
5 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

i love it

»
5 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Добрый день. Я ни разу не участвовала в соревнованиях, и у меня есть вопрос насчет правильного понимания правил. Допустим, мне нужен метод сортировки, и он опубликован, например, на сайте stackoverflow, 2 года назад. Получается, я имею полное право его копировать и использовать в своём решении (при условии, что все изменения я вносила самостоятельно), я правильно понимаю?

»
5 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

Я решил задачу, прошел претесты и хочу её заблокировать. Но на странице с задачей нет кнопки "заблокировать". Как это сделать?

»
4 года назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

До сей поры думал, что количество теряемых баллов за минуту вычисляется формулой изначальная стоимость / 250. Судя таблице в посте это формула верная. Но по последнему контесту вижу такую картину:

  • Задача А (500 баллов): 1 балл в минуту
  • Задача B (750 баллов): 2 балла в минуту
  • Задача С (1000 баллов): ~2.67 баллов в минуту
  • Задача D (1500 баллов): 4 баллов в минуту
  • Задача E (2000 баллов): ~5.33 баллов в минуту
  • Задача F (2500 баллов): ~6.67 баллов в минуту
  • Задача G (3000 баллов): 8 баллов в минуту
  • Задача H (3500 баллов): 9.33 балла в минуту
  • Задача I (4000 баллов): 10.67 балла в минуту

MikeMirzayanov может быть есть пост на апдейт этих констант и я его пропустил? Скорость потери баллов непропорциональны стоимости задач, is that ok?

P.S: в учет взял топ 2(boboniu и maroonrk).

»
4 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

If I don't take the test, will my rating decrease?

»
3 года назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

If I register but anyhow forget to participate in the contest, will I lose ratting?

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +17 Проголосовать: не нравится

    If you didn't make any submissions in the contest, it's unrated for you.

»
10 месяцев назад, # |
  Проголосовать: нравится -13 Проголосовать: не нравится

Hey MikeMirzayanov, this comment is regarding the mail is received on 31/01/2024 at 19:24 IST. I am completely unaware/unrelated of the user tagged in the mail as "Villager26" and I have no idea how my solution seems to be coinciding with his solution. I am providing as much proofs as I possess: 1: My submission(244137728) is much earlier than "Vilager26"(244144784). 2: The solution size is very small and requires very similar variables like i, j and ans. This could be possible reason for plagiarism. 3. May be my ideone.com account has a public code view settings enabled, which I deeply regret and will change to private as soon as possible.

Please look into it and hope this warning doesn't affect my ratings. Hope to listen from you soon.

»
2 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Dear Codeforces Team,

I am writing to appeal the recent rating reduction for my solution to Problem 2036D, as flagged due to similarities with other submissions. I understand that this process is automated to maintain contest integrity, but I assure you that I approached the problem with original thinking and adhered to all competition guidelines.

Solution Overview: In my code, I used a method to extract "layers" from the input grid, then count occurrences of a specific target string by iterating over each layer. This approach involved:

Layer Extraction: By traversing the matrix edges from the outermost to the innermost layer. Counting Occurrences: Using string manipulation and a sliding window approach. Study Resources Referenced: Before the contest, I studied a few sources on matrix traversal techniques and string pattern matching, specifically:

General matrix traversal methods to work with layers or spirals. Sliding window technique for string matching from standard tutorials. These foundational methods could explain any unintended resemblance between my solution and others submitted in the contest, as they represent common problem-solving patterns.

Request for Review: Given the honest approach I took and my careful adherence to the rules, I kindly request that my rating be reconsidered. I’m committed to fair competition and would never intentionally engage in any actions against the rules.

Thank you for your attention, and please let me know if I can provide further details or clarifications.

Best regards, racbhitbit