Yvision.kzYvision.kz
kk
Разное
Разное
399 772 постов41 подписчиков
Всяко-разно
0
01:11, 02 марта 2010

TopCoder

Итак, начнем с теории. Top Coder это корпорация проводящая соревнования по спортивному программированию. Имеются 3 наиболее известных вида соревнований, это Algorith Competition, Design and Development Competiton и Marathon.

Algorithm Competition

Наверное самый популярный из всех. Участником дается 3 задачи, и занимет это все приемерно 90-100  минут времени. Задачи делятся на уровни сложности. Каждая имеет свою максимальную стоимость.  Обычно это 250, 500 и 1000 балов. Баллы начисляются только за полные решения, решения которые пройдут все имеющиеся тесты. Само соревнование разделено на 3 фазы:

1) Codding Phase:

В этой фазе участники решают полученные задачи, описывают определенный класс, c определенной функцией с заданными аргументами, и с заданным return типом. Затем компилируют его, тестируют на небольшом количестве данных тестов, и могут отправлять задачу на проверку. Тут же вам скажут максимальное количество очков которое вы можете получить, если ваша задача пройдет системный тест. Баллы за задачу начинают уменьшатся через некоторое время, с момента её открытия. Но даже после отправки вы получили максимальный балл - рано радоваться, все еще впереди) Далее идет пятиминутный coffee break, во время которого вы можете отдохнуть от напряженной гонки и выпить чашечку кофе или чая. Затем начинается следующая фаза

2)Challenging Phase:

В этой фазе вы можете смотреть решения других участников, находить их слабые места и подбирать тесты на которых решение соперника будет работать неверно. Каждая попытка будет стоить 25 баллов, если же вы так сказать, удачно прочелленджите противника, и его ответ будет отличатся от системного вы получите 75 баллов, что тоже очень неплохо) Продолжительность этой фазы обычно составляет 15 минут. После этого вы можете расслабиться, так как вы сделали все от вас зависящее, так как теперь наступает финальная фаза состязания, а это

3)System Test:

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

Design and Development Competition

Этот тип соревнования наиболее приближен к настоящему созданию проекта. Здесь я не участвовал, так что попробую объяснить насколько знаю. Проекты пишутся командами программистов, обычно 2 человека, один из них пишет документацию, в то время как второй реализовывает задачу на .NET или на Java. Работа оценивается несколькими жюри, и по их оценке выставляется итоговый балл.

Marathon Matches:

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

 

В следующем посте расскажу о результатах казахстанских участников, и участников во всем мире.

 

 

0
330
0