Захотелось поделиться историей о том, как я получил "пожизненную" дисквалификацию в довольно известном в наших кругах турнире (чтобы не сложилось неверное впечатление: дисквалификация произошла из-за нелепой случайности, и, надеюсь, скоро меня реабилитируют).
Послужила этому желанию, в основном, смехотворность ситуации и (не?)давние обсуждения того, можно ли удалить аккаунт с той самой системы.
Начну с того, что одним чудесным предновогодним вечером мне на электронный ящик пришло письмо от @topcoder.com примерно следующего содержания:
"Уважаемый, вы нарушили правила соревнований, в частности пункт, запрещающий создание и одновременное использование двух аккаунтов. На последнем контесте мы заметили за вами именно такое нарушение, и поэтому вы получаете пожизненную дисквалификацию и больше не имеете права участвовать. *Небольшая вырезка из правил, подтверждающая это и мягко намекающая на то, как плохо мне станет, если я их нарушу опять*. Если желаете, можете объяснить ваше поведение, или предоставить доказательства того, что это ошибка.
%AdministratorName%"
Несказанно обрадовавшись такому новогоднему подарку, и поразмышляв о возможных причинах, я на скорую руку написал ответ с заверением того, что ни в коем случае не использовал два аккаунта, и более того, никогда не регистрировал и не заходил под чужим логином для каких-нибудь целей, тем более во время последнего контеста, который начался в 03:00 по Москве, и просьбой предоставить хотя бы более четкие основания для такого сурового наказания. Еще после небольшого мозгового штурма, отбросившего возможность того, что мой аккаунт украли и использовали, и того, что это может быть из-за одного внешнего IP для всей моей домашней сети, я решил глянуть информацию о технической поддержке собственно на сайте.
Моему удивлению не было предела, когда я обнаружил что не залогинен. Попытка это сделать привела к печальному вердикту "Username or password incorrect". Вероятность неверного пароля была сведена к нулю из-за использования этого сервиса, поэтому сразу же промелькнула мысль: "На ТопКодере меня больше нет :(". Проверка рейтинга по стране, списка участников последнего контеста, а также поиск аккаунта по имени подтвердили эту мысль.
Через часик пришел ответ о том, что мое решение полностью совпало с решением другого участника. Мобилизовавшийся друг быстро сравнил результаты контеста в Арене и на сайте и обнаружил, что кроме меня не хватает еще одного участника, который расположился сразу же после меня.
Для жаждущих квеста:
В Арене все еще доступны результаты прошлого раунда.
Можете сравнить 144-145 место там и 144-145 место на сайте.
Прочитать решения первой задачи 144 и 145 места в Арене.
(грустно, не так ли?)
А также попробовать поискать наши аккаунты.
Так вот, выяснилось, что мое решение задачи 250 полностью совпало (за исключением пробелов, что не важно для автоматической проверяющей системы) с решением участника из Вьетнама, который набрал на 0.07 балла меньше меня (собственно, поэтому его и обнаружили). Печаль и недоумение сменились смехом, и я написал еще одно письмо, объясняющее в деталях, что в моем коде не было ничего, кроме стандартных шаблонов и простейшей идеи, поэтому очень вероятно что, кто-то мог написать такой же код, никоим образом не соприкасаясь с моим, да и вообще, я гарантирую, что до конца соревнования мой код никто кроме меня не видел и разрабатывал я его самостоятельно.
Через сутки пришло письмо:
Моему удивлению не было предела, когда я обнаружил что не залогинен. Попытка это сделать привела к печальному вердикту "Username or password incorrect". Вероятность неверного пароля была сведена к нулю из-за использования этого сервиса, поэтому сразу же промелькнула мысль: "На ТопКодере меня больше нет :(". Проверка рейтинга по стране, списка участников последнего контеста, а также поиск аккаунта по имени подтвердили эту мысль.
Через часик пришел ответ о том, что мое решение полностью совпало с решением другого участника. Мобилизовавшийся друг быстро сравнил результаты контеста в Арене и на сайте и обнаружил, что кроме меня не хватает еще одного участника, который расположился сразу же после меня.
Для жаждущих квеста:
В Арене все еще доступны результаты прошлого раунда.
Можете сравнить 144-145 место там и 144-145 место на сайте.
Прочитать решения первой задачи 144 и 145 места в Арене.
(грустно, не так ли?)
А также попробовать поискать наши аккаунты.
Так вот, выяснилось, что мое решение задачи 250 полностью совпало (за исключением пробелов, что не важно для автоматической проверяющей системы) с решением участника из Вьетнама, который набрал на 0.07 балла меньше меня (собственно, поэтому его и обнаружили). Печаль и недоумение сменились смехом, и я написал еще одно письмо, объясняющее в деталях, что в моем коде не было ничего, кроме стандартных шаблонов и простейшей идеи, поэтому очень вероятно что, кто-то мог написать такой же код, никоим образом не соприкасаясь с моим, да и вообще, я гарантирую, что до конца соревнования мой код никто кроме меня не видел и разрабатывал я его самостоятельно.
Через сутки пришло письмо:
"Ввиду краткости и простоты кода, я допускаю возможность того, что это просто ошибка. Требуется некоторое время для уточнения деталей, и я надеюсь, что вскоре проблема будет решена.
%AdministratorName%" Ну что же, и я надеюсь :) Как-то не хочется заканчивать участие в контестах ТопКодера даже майки не получив, тем более по такой интересной случайности.
Вот такая вот новогодняя история. Главной целью было донести мысль о том, что таки да, аккаунты с ТопКодера можно удалить, причем делается это довольно безболезненно для всего остального мира. Рейтинги, конечно, никто не пересчитывает, но упоминания о вас останутся только в памяти ваших друзей, и в течение некоторого времени в Арене (если вы, конечно, участвовали в последнем проведенном соревновании или решали что-то в Practice комнатах). И, надеюсь, выполнявшим квест, просмотр решений доставил хоть немного веселья.
С наступившим Новым Годом, и получайте только приятные подарки :)
*UPD*
Раз уж тема поднялась в Прямой эфир, напишу чем закончилась история. Подождав недельку, и не получив больше никакого сообщения от администрации, я решил немного форсировать события и спросить, как же все-таки решили мою проблему. Ответ был краток:
"Разобравшись в ситуации, я могу утверждать, что факты нарушения соглашения налицо.
Вот такая вот новогодняя история. Главной целью было донести мысль о том, что таки да, аккаунты с ТопКодера можно удалить, причем делается это довольно безболезненно для всего остального мира. Рейтинги, конечно, никто не пересчитывает, но упоминания о вас останутся только в памяти ваших друзей, и в течение некоторого времени в Арене (если вы, конечно, участвовали в последнем проведенном соревновании или решали что-то в Practice комнатах). И, надеюсь, выполнявшим квест, просмотр решений доставил хоть немного веселья.
С наступившим Новым Годом, и получайте только приятные подарки :)
*UPD*
Раз уж тема поднялась в Прямой эфир, напишу чем закончилась история. Подождав недельку, и не получив больше никакого сообщения от администрации, я решил немного форсировать события и спросить, как же все-таки решили мою проблему. Ответ был краток:
"Разобравшись в ситуации, я могу утверждать, что факты нарушения соглашения налицо.
%AdministratorName%"
Ну раз разобрались, то скажите в чем я виноват?
"Относительно вашего аккаунта не произошло никаких изменений. С вашей стороны были зафиксированы действия, противоречащие правилам, так что ваш аккаунт заблокирован раз и навсегда.
"Относительно вашего аккаунта не произошло никаких изменений. С вашей стороны были зафиксированы действия, противоречащие правилам, так что ваш аккаунт заблокирован раз и навсегда.
%AdministratorName%"
Дальнейшая переписка привела лишь к выяснению того, что я нарушил правила о том, что нельзя пользоваться двумя аккаунтами или пользоваться решениями других участников. Ну и так как единственным моим аргументом было то, что код тривиальный, и существовала ненулевая вероятность совпадения с решением другого участника, а также дополнительные смягчающие факторы: то, что кодер из Вьетнама участвует достаточно давно без малейших нарушений, да и я тоже целый год продержался не используя второй аккаунт. Все равно это все никак не котируется по сравнению со сведениями администрации. Так что, как это ни абсурдно, мой аккаунт забанили на всю жизнь :(
Вот такой печальный конец новогодней истории, так что перед тем как отправлять код, содержащий тривиальный for и стандартную переменную типа res, задумайтесь, а не поменять ли название переменной на что-то нестандартное, типа RESULT, а то чем черт не шутит (это, конечно, такой грустный сарказм). На самом деле, надеюсь ни с кем такого не случится :) Удачных сабмитов!
Дальнейшая переписка привела лишь к выяснению того, что я нарушил правила о том, что нельзя пользоваться двумя аккаунтами или пользоваться решениями других участников. Ну и так как единственным моим аргументом было то, что код тривиальный, и существовала ненулевая вероятность совпадения с решением другого участника, а также дополнительные смягчающие факторы: то, что кодер из Вьетнама участвует достаточно давно без малейших нарушений, да и я тоже целый год продержался не используя второй аккаунт. Все равно это все никак не котируется по сравнению со сведениями администрации. Так что, как это ни абсурдно, мой аккаунт забанили на всю жизнь :(
Вот такой печальный конец новогодней истории, так что перед тем как отправлять код, содержащий тривиальный for и стандартную переменную типа res, задумайтесь, а не поменять ли название переменной на что-то нестандартное, типа RESULT, а то чем черт не шутит (это, конечно, такой грустный сарказм). На самом деле, надеюсь ни с кем такого не случится :) Удачных сабмитов!
*update*
Сегодня пришло интересное сообщение от администрации :)
"Не так давно ваш аккаунт был заблокирован. Получив больше информации об инциденте, я обнаружил, что было принято неверное решение. Ваш аккаунт снова активирован. Надеюсь, вы примете мои искренние извинения за допущенную ошибку.
%AdministratorName%"
Сказать, что я удивлен, значит ничего не сказать. То ли мой вьетнамский брат по несчастью добился амнистии, то ли у ребят из администрации TopCoder и правда достаточно много дел, а вопросы по разблокированию аккаунтов решаются вечерами с чашечкой горячего чаю... Тем не менее, TopCoder поднялся в моих глазах в плане работы с пользователями: я и предположить-то не мог, что спустя почти пять месяцев моими проблемами будет кто-то заниматься. Респектую американским коллегам Codeforces :)
Теперь, если у кого-нибудь возникнут похожие проблемы, знайте, что даже если вынесен вердикт не в вашу пользу, о вас все равно не забыли, просто они делают мир лучше и не успевают вовремя решать проблемы каждого :)