Международная студенческая олимпиада по программированию
Материал из Википедии — свободной энциклопедии
Международная студенческая олимпиада по программированию (в английском принято сокращение ACM/ICPC или просто ICPC) — крупнейшая студенческая командная олимпиада по программированию.
Содержание |
[править] История
Международный командный чемпионат по программированию уходит своими корнями в соревнование, проводившееся в Техасском университете в 1970. Свой нынешний облик чемпионат принял в 1977, когда первый финал был проведен в рамках научной конференции ACM, и с тех пор проводится ежегодно.
Организатором олимпиады является влиятельная в компьютерном мире организация Association for Computer Machinery (ACM), а спонсорами соревнований в последние годы являлись компании IBM и Microsoft. С 1977 по 1989 в олимпиаде преимущественно участвовали команды вузов из США и Канады. К настоящему моменту олимпиада превратилась во всемирное соревнование: в ней приняло участие 3150 команд из 75 стран (в 2004 году), более сотни из которых сошлись в борьбе за главный трофей в очном финальном турнире. Количество команд продолжает расти на 10-20% в год, так что в будущем соревнования обещают стать ещё представительнее.
Россия и такие страны СНГ, как Беларусь, Казахстан, Узбекистан, Армения, Грузия, Азербайджан входят в Северо-Восточный Европейский регион, ежегодно делегирующий на международный финал примерно десять своих победителей.
[править] Правила
Олимпиада — командное соревнование. Каждая команда состоит троих студентов. К участию допускаются студенты высших учебных заведений, а также аспиранты первого года обучения. Студенты, дважды участвовавшие в финальной стадии олимпиады, или четырежды принимавшие участие в региональном отборе, не допускаются к участию.
Тур олимпиады происходит следующим образом: каждой команде выдаётся компьютер и от шести до шестнадцати задач на пять часов. Команды пишут решения на алгоритмических языках программирования C, C++, Паскале (Паскаль разрешается использовать только на четвертьфинальных и полуфинальных соревнованиях до 2009 года включительно) или Java и посылают их на тестирующий сервер. Программы тестируются на большом количестве различных входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то пославшая её команда получает об этом сообщение и может послать исправленную версию. Задача считается решённой, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются.
Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем. Изначально штрафное время каждой команды равно нулю. За каждую правильно сданную задачу к штрафному времени команды прибавляют время, прошедшее с начала соревнования до момента сдачи задачи. Кроме того, если зачтённой попытке предшествовало несколько неудачных попыток сдать ту же задачу, то за каждую из них к штрафному времени прибавляют двадцать минут. За неудачные попытки сдать задачу, которую команде в итоге так и не удалось решить, штрафного времени не начисляется.
От других олимпиад по информатике эта олимпиада отличается повышенным количеством задач, на которые отводится сравнительно небольшое время. Учитывая, что в распоряжении каждой команды находится только один компьютер, навыки эффективной и слаженной командной работы выходят на первый план.
[править] Этапы
Олимпиада проводится на нескольких уровнях. Многие университеты проводят внутренние соревнования, чтобы определить своих представителей на региональном уровне. Затем проводятся региональные олимпиады, победители которых отправляются на финальный этап мирового первенства. В региональных соревнованиях один университет может быть представлен несколькими командами, но на финал может отправиться только одна команда от университета.
[править] Победители
Чемпионами мира с 1977 года становились:
- 2007 — Варшавский университет, Польша
- 2006 — Саратовский государственный университет, Россия
- 2005 — Шанхайский университет, Китай
- 2004 — Санкт-Петербургский государственный университет информационных технологий, механики и оптики, Россия
- 2003 — Варшавский университет, Польша
- 2002 — Шанхайский университет, Китай
- 2001 — Санкт-Петербургский государственный университет, Россия
- 2000 — Санкт-Петербургский государственный университет, Россия
- 1999 — Университет Ватерлоо, Канада
- 1998 — Пражский университет, Чехия
- 1997 — Харви Мадд Колледж, США
- 1996 — Университет Беркли, США
- 1995 — Фрайбургский университет, Германия
- 1994 — Университет Ватерлоо, Канада
- 1993 — Гарвардский университет, США
- 1992 — Мельбурнский университет, Австралия
- 1991 — Стэнфордский университет, США
- 1990 — Университет Отаго, Новая Зеландия
- 1989 — Университет Лос-Анджелеса, США
- 1988 — Калифорнийский технологический институт, США
- 1987 — Стэнфордский университет, США
- 1986 — Калифорнийский технологический институт, США
- 1985 — Стэнфордский университет, США
- 1984 — Университет Джона Хопкинса, США
- 1983 — Университет Небраски, США
- 1982 — Университет Бэйлора, США
- 1981 — Университет Миссури, США
- 1980 — Университет Сент-Луиса, США
- 1979 — Университет Сент-Луиса, США
- 1978 — Массачусетский технологический институт, США
- 1977 — Мичиганский университет, США
[править] Ближайшая олимпиада
[править] Ссылки
- ACM/ICPC — главная страница олимпиады.
- Архив задач Университета Вальядолида
- Архив задач МФТИ
- Архив задач Уральского Государственного Университета
- Архив задач Саратовского Государственного Университета
- Архив задач Пекинского Университета
- Архив задач Sphere Online Judge (поддерживается более 30 языков программирования)
- Сообщество русских участников чемпионата в ЖЖ
- Онлайн-соревнования серии Test-The-Best