TopCoder
Материал из Википедии — свободной энциклопедии
TopCoder - один из видов спортивного программирования. Единственный на сегодняшний день вид спорта, в котором участвуют профессиональные программисты. В отличие от International Collegiate Programming Contest является индивидуальным.
Создан в 2002 году. По состоянию на начало 2007 года насчитывал около 18 000 пользователей.
Имеет подвиды: Algorithm Competition, Design & Development, Marathon Matches.
Особые виды соревнований: TopCoder Collegiate Challenge (только для студентов) и TopCoder High School (только для школьников) Наиболее популярный вид турниров — Algorithm Competition. Он заключается в том что каждому участнику даётся на 75 минут 3 задачи, разные по сложности, классифицируемые на 3 уровня. Каждая задача имеет свою максимальную стоимость в баллах. Обычно 250, 500 и 1000.
Матч состоит из трёх основных фаз - Coding, Challenging и System Testing.
В первой фазе участники за отведённое время пытаются решить предложенные им задачи. Решением является создание указанного в условии класса и реализация указанного в условии метода, проходящая все заранее подготовленные тесты. Участникам разрешается писать решения на одном из следующих языков: C++, C#, Java и VB.NET. Количество очков за решённую задачу зависит от времени отправки окончательного решения: чем позже - тем меньше очков. За каждую повторную отправку снимается 10% стоимости задачи. Количество очков не может быть меньше 30% стоимости задачи.
Во второй фазе участники пытаются подобрать тест (вариант входных данных), на котором решения его конкурентов будут работать неверным образом. При этом разрешается смотреть исходный код, но невозможно запускать программы конкурентов. Каждый удачный подход даёт 50 очков, а неудачный отнимает 25 очков.
В третьей фазе происходит тестирование всех решений всех участников, которые не были признаны неверными по итогам второй фазы. Формируются окончательные результаты матчей.
Такие матчи, называемые SRM (Single Round Match), проходят примерно раз в неделю.
Проводятся ежегодные турниры, самые крупные из которых - TopCoder Open и Google Code Jam