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

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

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

    Послужила этому желанию, в основном, смехотворность ситуации и (не?)давние обсуждения того, можно ли удалить аккаунт с той самой системы.
    Начну с того, что одним чудесным предновогодним вечером мне на электронный ящик пришло письмо от @topcoder.com примерно следующего содержания:

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

   Несказанно обрадовавшись такому новогоднему подарку, и поразмышляв о возможных причинах, я на скорую руку написал ответ с заверением того, что ни в коем случае не использовал два аккаунта, и более того, никогда не регистрировал и не заходил под чужим логином для каких-нибудь целей, тем более во время последнего контеста, который начался в 03:00 по Москве, и просьбой предоставить хотя бы более четкие основания для такого сурового наказания. Еще после небольшого мозгового штурма, отбросившего возможность того, что мой аккаунт украли и использовали, и того, что это может быть из-за одного внешнего IP для всей моей домашней сети, я решил глянуть информацию о технической поддержке собственно на сайте.
   Моему удивлению не было предела, когда я обнаружил что не залогинен. Попытка это сделать привела к печальному вердикту "Username or password incorrect". Вероятность неверного пароля была сведена к нулю из-за использования этого сервиса, поэтому сразу же промелькнула мысль: "На ТопКодере меня больше нет :(". Проверка рейтинга по стране, списка участников последнего контеста, а также поиск аккаунта по имени подтвердили эту мысль.
   Через часик пришел ответ о том, что мое решение полностью совпало с решением другого участника. Мобилизовавшийся друг быстро сравнил результаты контеста в Арене и на сайте и обнаружил, что кроме меня не хватает еще одного участника, который расположился сразу же после меня.

Для жаждущих квеста:
В Арене все еще доступны результаты прошлого раунда.
Можете сравнить 144-145 место там и 144-145 место на сайте.
Прочитать решения первой задачи 144 и 145 места в Арене.
(грустно, не так ли?)
А также попробовать поискать наши аккаунты.

   Так вот, выяснилось, что мое решение задачи 250 полностью совпало (за исключением пробелов, что не важно для автоматической проверяющей системы) с решением участника из Вьетнама, который набрал на 0.07 балла меньше меня (собственно, поэтому его и обнаружили). Печаль и недоумение сменились смехом, и я написал еще одно письмо, объясняющее в деталях, что в моем коде не было ничего, кроме стандартных шаблонов и простейшей идеи, поэтому очень вероятно что, кто-то мог написать такой же код, никоим образом не соприкасаясь с моим, да и вообще, я гарантирую, что до конца соревнования мой код никто кроме меня не видел и разрабатывал я его самостоятельно.
   Через сутки пришло письмо:

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

   Ну что же, и я надеюсь :) Как-то не хочется заканчивать участие в контестах ТопКодера даже майки не получив, тем более по такой интересной случайности.

   Вот такая вот новогодняя история. Главной целью было донести мысль о том, что таки да, аккаунты с ТопКодера можно удалить, причем делается это довольно безболезненно для всего остального мира. Рейтинги, конечно, никто не пересчитывает, но упоминания о вас останутся только в памяти ваших друзей, и в течение некоторого времени в Арене (если вы, конечно, участвовали в последнем проведенном соревновании или решали что-то в Practice комнатах). И, надеюсь, выполнявшим квест, просмотр решений доставил хоть немного веселья.
   С наступившим Новым Годом, и получайте только приятные подарки :)

*UPD*

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

"Разобравшись в ситуации, я могу утверждать, что факты нарушения соглашения налицо.
%AdministratorName%"

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

"Относительно вашего аккаунта не произошло никаких изменений. С вашей стороны были зафиксированы действия, противоречащие правилам, так что ваш аккаунт заблокирован раз и навсегда.
%AdministratorName%"

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

   Вот такой печальный конец новогодней истории, так что перед тем как отправлять код, содержащий тривиальный for и стандартную переменную типа res, задумайтесь, а не поменять ли название переменной на что-то нестандартное, типа RESULT, а то чем черт не шутит (это, конечно, такой грустный сарказм). На самом деле, надеюсь ни с кем такого не случится :) Удачных сабмитов!

*update*

   Сегодня пришло интересное сообщение от администрации :)

"Не так давно ваш аккаунт был заблокирован. Получив больше информации об инциденте, я обнаружил, что было принято неверное решение. Ваш аккаунт снова активирован. Надеюсь, вы примете мои искренние извинения за допущенную ошибку.
%AdministratorName%"

   Сказать, что я удивлен, значит ничего не сказать. То ли мой вьетнамский брат по несчастью добился амнистии, то ли у ребят из администрации TopCoder и правда достаточно много дел, а вопросы по разблокированию аккаунтов решаются вечерами с чашечкой горячего чаю... Тем не менее, TopCoder поднялся в моих глазах в плане работы с пользователями: я и предположить-то не мог, что спустя почти пять месяцев моими проблемами будет кто-то заниматься. Респектую американским коллегам Codeforces :)

   Теперь, если у кого-нибудь возникнут похожие проблемы, знайте, что даже если вынесен вердикт не в вашу пользу, о вас все равно не забыли, просто они делают мир лучше и не успевают вовремя решать проблемы каждого :)
  • Проголосовать: нравится
  • +17
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Помнится, меня тоже пытались дисквалифицировать.

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

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

Хорошо все, что хорошо кончается =)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Тоже была проблема с регистрацией на TCHS. Меня тогда как участника вручную зарегистрировал администратор, но на первый раунд меня не пускало, а решать такие проблемы стали за 15 минут до начала. Меня не успели зарегистрировать на раунд, и я остался без майки :(
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Меня тоже в своё время дисквалифицировали. Я тогда не понял, что такое TCHS матчи, выступил в одном, а потом разобрался и попытался галочку школьника убрать из профиля. Но не тут-то было! Она никуда деваться не хотела. Поэтому я написал на форумах что по ошибке участвовал и прошу галочку убрать. Пришёл админ, убрал галочку, а через неделю-другую мне пришло письмо что я злостный читер и мне грозит пожизненная. Потом я объяснил ситуацию и мне сократили дисквалификацию до трёх месяцев.

Кстати говоря, некоторых читеров банят так, что на сайте их всё равно видно, но они не учитываются в overall, country и school ranking, а некоторых стирают совсем. Откуда возник второй феномен, ума не приложу.
13 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Тоже могу рассказать историю на эту тему.
Когда Гена был совсем маленький, а модем у нас на 16кбит/сек, регистрировались мы первый раз на USACO. 
Вроде зарегистрировались, но когда Гена попытался решение отправить, все глухо повисло. Перегрузили модем, попытались залогиниться, опять все повисло. Опять перегрузили модем и по неопытности перерегистрировались (там теперь Гена - korotkevi2).
Проходит много лет, у Гены уже золото IOI, а тут Rob Kolstad решил внедрить систему по борьбе с читерством. И вот мы получаем письмо, смысл которого: "Я обнаружил, что Гена - читер, но он тогда был очень молодой, так что я его прощаю".
Ну, мы не стали выяснять в чем смысл для читера отправить одинаковые решения с двух логинов, если результаты тестирования только через несколько дней становятся известны. Простил, так простил... 
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Если банят за совпадение кода в 250 див2, то почему пропускают мимо такие нарушения, как у D.Jaamaa?
Он сдал 2 задачи за 19 и 20 секунд, а его как ни в чем не бывало упомянули в разборе http://www.topcoder.com/wiki/display/tc/SRM+483 как самого быстрого решившего обе задачи.
Ни у кого не вызвало подозрений?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Разбор делается на основе шаблона вскоре после матча, пока читеров ещё не отловили. К сожалению, ловить их стали очень неповоротливо, например этого забанили уже после того, как результаты матча признали окончательными. Если посмотреть на страницу пользователя, он not rated во всех категориях.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      не во всех:
      Algorithm Rating:1197
      • 13 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        Имеется в виду

        Rank:not ranked

        Так бывает, если полгода не участвовать, или если получен бан.
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
И еще про "подарок".
Зарегистрировался Гена в 11 лет на TopCoder. Да, до 13 лет нельзя, но очень хотелось. Решает, все нормально, но в 12 лет получает золото IOI. И в качестве "подарка" письмо с TopCoder: "а мы тут обнаружили, что вам нет 13 лет". Мы пишем покаянное письмо, тем более, что до 13 лет оставалось несколько дней. Но Гену банят на 3 месяца.
Ну, вроде, 3 месяца - не срок. Но тут объявляют об очередном TCHS, причем это был тот последний раз, когда для школьников еще делали онсайт в США.
Отбор начинается в январе, тут все нормально, дисквалификация уже заканчивается, но есть одно условие: "в отборе может участвовать тот, кто принимал участие в трех TCHS-контестах в текущем году". А Гена, как назло, во взрослых SRM-ах участвовал, а школьные игнорировал: участвовал только 2 раза. Причем последний в году TCHS-контест проходит что-то типа 17 декабря, а бан до 20-го декабря.
Мы пишем еще одно покаянное письмо с просьбой разрешить поучаствовать. Получаем: "вам было назначено самое минимальное из возможных наказаний, так что пересмотрено оно быть не может".
Так и пролетели...  
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Не восстановили, кстати.
13 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
прочитал upd, офигеть просто

а теперь им вот этот весь пост, переведённый на английский, на родной форум forums.topcoder.com кинуть в general discussion, чтобы опозорить перед сотнями участников и, заодно, предупредить народ о возможности такого вот обращения

p.s. уже переименовал установленную по умолчанию int ans=0 в int OTBET=0
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
This comment was deleted

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

Меня кстати тоже когда-то дисквалифицировали - тоже было два логина, а я даже не подозревал, что этого нельзя, и на форуме написал сначала под одним логином, потом под другим с припиской "это тоже я, у меня просто два логина" :-D Но после просьбы по e-mail разблокировать мой второй логин, а на первый мне вообще всё равно - таки раздисквалифицировали :)

ZumZoom, сочувствую. Такое замечательное совпадение (какая вероятность того, что совпадут два шаблона, два решения, и время написания программы?..) - и так испорчено недоверием людей...

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

Вообще еще интересный вопрос что им понаписал тот вьетнамец...

А то мож они с него такие злые))))

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

Хм... С чего администрация на топкодере такая злая и видит читерство даже там, где его нет - понятно - видимо, читерства много, вот и страдают в т.ч. и те кто вообще-то не при чём.

Другой вопрос - почему администрация пытается бороться с последствиями читерства, а не пытается изменить правила так, чтобы читеры не могли читерствовать... Я недавно пытался здесь аналогичный вопрос выяснить - однако выяснил только что читеров вообще не существует, а любые изменения правил зло. ;-)

Самое сложное - что люди меняются. Школьники вырастают. Неумехи становятся профессионалами и т.п... Всё-таки topcoder обычно идёт навстречу даже в самых сложных случаях:
http://apps.topcoder.com/forums/?module=Thread&threadID=676436&start=30&mc=66#1336214

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

Короче, я сочувствую автору, однако предполагаю что идеальное решение здесь - только создавать собственный ресурс по идеальным правилам... ;-)
13 лет назад, # |
Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

поздравляю с хорошим окончанием истории! :)
P.S. в качестве аргумента, как мне кажется, можно еще было привести тот факт, что, если бы ты реально взял откуда-то код вьетнамца, то хотя бы чуток изменил бы его. Не знаю, конечно, обратила бы на это внимание администрация TopCoder или нет :)