See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
TopCoder — Википедия

TopCoder

Материал из Википедии — свободной энциклопедии

TopCoder — один из сайтов спортивного программирования. В отличие от ACM International Collegiate Programming Contest является индивидуальным.

Создан в апреле 2001 года. По состоянию на ноябрь 2007 года насчитывал около 130 000 пользователей, из которых около 22 000 хоть раз участвовали в Algorithm Competition.

Содержание

[править] Разновидности соревнований

[править] Алгоритмы (англ. Algorithm Competition)

Наиболее популярный вид турниров — соревнование по быстрому решению алгоритмических задач (аналогично школьным и студенческим олимпиадами по программированию). Он заключается в том что каждому участнику даётся 3 задачи, разные по сложности, классифицируемые на 3 уровня. Каждая задача имеет свою максимальную стоимость в баллах. Обычно 250, 500 и 1000.

Такие матчи, называемые SRM (Single Round Match), проходят примерно раз в неделю. Кроме этого проводятся ежегодные турниры. Матч состоит из трёх основных фаз — Coding, Challenging и System Testing.

[править] Этап программирования англ. Coding Phase

В первой фазе участники за отведённое время пытаются решить предложенные им три задачи, как правило оцениваемые в 250, 500 и 1000 баллов. Решением является создание указанного в условии класса и реализация указанного в условии метода, проходящая все заранее подготовленные тесты. Участникам разрешается писать решения на одном из следующих языков: C++, C#, Java и VB.NET. Количество очков за решённую задачу нелинейно зависит от времени отправки окончательного решения: чем позже — тем меньше очков. За каждую повторную отправку снимается 10 % стоимости задачи. Количество очков не может быть меньше 30 % стоимости задачи. Решение считается принятым (на этом этапе), если оно прошло все предварительно заложенные в систему тестирования входные данные («тесты»).

Продолжительность тура в регулярных матчах (англ. Single Round Match, сокращенно SRM), а также отборочных соревнованиях турниров (англ. Online Elimination Rounds составляет 75 минут. В очном финале (англ. Onsite Events) продолжительность первой фазы составляет 85 минут.

[править] Этап соревновательного тестирования англ. Challenging Phase

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

[править] Этап окончательного тестирования англ. System Testing Phase

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

[править] Итоги

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

В случае, если в ходе соревнования не происходило никаких технических сбоев, для всех участников пересчитывается рейтинг.

[править] Проектирование и разработка (англ. Design and Development Competition)

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

[править] Марафоны (англ. Marathon Competition)

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

[править] Рейтинг

TopCoder — это единственный вид спортивного программирования в котором существует система рейтинга участников. Она делит участников на следующие категории:

Цвет группы Рейтинг
Белые Ни разу не выступавшие участники
Серые менее 900 очков
Зеленые 900—1199 очков
Синие 1200—1499 очков
Желтые 1500—2199 очков
Красные 2200 очков и более
Лидеры (англ. target) 3000 очков и более

Участники Algorithm Competition, имеющие рейтинг выше 1200, выступают в первом дивизионе. Все остальные — во втором. На данный момент жёлтый рейтинг Algorithm Competition имеют примерно 1500 сильнейших программистов, красный — около 200, «Target» — менее 10 человек в мире.

В Design, Development и Marathon Matches уровень Target ещё не удавалось получить никому, а красную группу составляют менее 10 человек (в Development — всего двое).

[править] Соревнования

Самые крупные из турниров — TopCoder Open (неофициальный чемпионт мира по программированию среди профессионалов) и Google Code Jam. Кроме них, проводятся турниры для студентов (TopCoder Collegiate Challenge). Начиная с 2006-07 г проводятся отдельные матчи и годовой турнир для школьников (TopCoder High School)

[править] Ссылки

На других языках


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -