Международная студенческая олимпиада по программированию

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

Международная студенческая олимпиада по программированию (в английском принято сокращение ICPC, до 2017 — ACM ICPC), называемая также Студенческим командным чемпионатом мира по программированию ICPC — крупнейшая студенческая командная олимпиада по программированию.

История

Студенческий командный чемпионат мира по программированию ICPC уходит своими корнями в соревнование, проводившееся в Техасском университете в 1970. Свой нынешний облик чемпионат принял в 1977 году, когда первый финал был проведён в рамках ежегодной конференции ACM по информатике, и с тех пор проводится ежегодно<ref name="fact sheet">Шаблон:Cite web</ref><ref>Шаблон:Cite web</ref>.

До 2017 года чемпионат проводился под эгидой ассоциации вычислительной техники (ACM). Начиная с 1989 года, организацией соревнований занимается университет Бэйлора<ref name="fact sheet"/>. В разное время спонсорами соревнований становились такие компании, как Apple, AT&T и Microsoft<ref name="participation">Шаблон:Cite web</ref>, c 1997 по 2017 год генеральным спонсором являлась компания IBM<ref name="fact sheet"/><ref name=":0">Шаблон:Cite web</ref>, начиная с 2018 года глобальным спонсором средств программирования является компания JetBrains<ref name=":0" />.

В России одним из основателей студенческих соревнований по программированию являлся Панкратьев Евгений Васильевич<ref>Шаблон:Cite web</ref>.

Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Узбекистан составляют Северный Евразийский регион, ежегодно делегирующий на финальный турнир свои лучшие команды. Квота региона по числу команд с 2009 до 2013 года ежегодно увеличивалась: в 2009 году на финал было отправлено 11 команд, в 2010 — 12 команд, в 2011 — 13 команд, в 2012 — 16 команд, в 2013 — 19 команд, в 2014 — 17 команд<ref>Шаблон:Cite web</ref>. Страны Балтии покинули Северо-Восточный Европейский полуфинальный регион: Эстония — в 2018 году<ref>Ср. результаты отборочного тура за 2017 Шаблон:Wayback и 2018 Шаблон:Wayback годы: университет Tallinn SU прекратил участие.</ref>, Литва и Латвия — в 2020 году<ref>Ср. результаты отборочного тура за 2020 Шаблон:Wayback и 2021 Шаблон:Wayback годы: университеты VU и LU прекратили участие (астериск перед названием команды означает участие вне конкурса).</ref>.

Правила

Чемпионский кубок ICPC, полученный командой МГУ в 2019 году
Команда МГУ, победители ICPC-2019 и 2018:
Михаил Ипатов, Владислав Макеев, Григорий Резников

Олимпиада — командное соревнование. Каждая команда состоит из трёх студентов. К участию допускаются студенты высших учебных заведений, а также аспиранты первого года обучения. Студенты, дважды участвовавшие в финальной стадии олимпиады, или пятикратно принимавшие участие в региональном отборе, не допускаются к участию. Есть ограничение по возрасту: участники старше 24 лет не допускаются<ref>Шаблон:Cite web</ref>.

Тур олимпиады происходит следующим образом: каждой команде выдаётся компьютер и от восьми до двенадцати задач, условия которых написаны на английском языке<ref name="autogenerated1">Шаблон:Cite web</ref>, на пять часов. Команды пишут решения на языках программирования C, C++, Java, Python или Kotlin набирая и компилируя программы, используя Ubuntu 18.04. LTS (2018 год) Шаблон:Нет АИ, и посылают их на тестирующий сервер. Во время некоторых региональных туров набор языков может быть изменён. Так, например, при проведении четвертьфинала по северо-восточному региону участникам доступен Паскаль<ref name="autogenerated1" />. Программы тестируются на большом количестве различных входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то пославшая её команда получает об этом сообщение и может послать исправленную версию. Задача считается решённой, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются.

Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем. Изначально штрафное время каждой команды равно нулю. За каждую правильно сданную задачу к штрафному времени команды прибавляют время, прошедшее с начала соревнования до момента сдачи задачи. Кроме того, если зачтённой попытке предшествовало несколько неудачных попыток сдать ту же задачу, то за каждую из них к штрафному времени прибавляют двадцать минут. За неудачные попытки сдать задачу, которую команде в итоге так и не удалось решить, штрафного времени не начисляется<ref>Шаблон:Cite web</ref>.

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

Многие университеты проводят свои олимпиады используя формат ICPC, поскольку данный формат может считаться одним из самых удачных.

Этапы

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

Победители ICPC

Чемпионами мира с 1977 года становились<ref>Шаблон:Cite web</ref>:

Год Место проведения Победитель Состав команды Тренер
2025 Шаблон:Флаг Баку, Азербайджан Шаблон:Флаг Санкт-Петербургский государственный университет Максим Туревский, Леонид Данилевич, Фёдор Ушаков Иван Казменко
2024 Шаблон:Флаг Астана, Казахстан Шаблон:Флаг Пекинский университет Ван Вэйчэн (Wang Weicheng), Ван Сянвэнь (Wang Xiangwen), Сю Аньи (Xu Anyi) Луо Гоцзе (Luo Guojie)
2023** Шаблон:Флаг Луксор, Египет Шаблон:Флаг Высшая школа экономики Фёдор Ромашов, Кирилл Кудряшов, Александр Бабин Михаил Густокашин
2022** Шаблон:Флаг Луксор, Египет Шаблон:Флаг Пекинский университет Линью Цзян (Lingyu Jiang), Чжипэн Ван (Zhanpeng Wang), Юйсян Луо (Yuxiang Luo) Цинь цзянь Чжан (Qinjian Zhang)
2021* Шаблон:Nobr Шаблон:Флаг Массачусетский технологический институт Джерри Мао (Jerry Mao), Минъян Дэн (Mingyang Deng), Сяо Мао (Xiao Mao) Се Цзинь (Ce Jin)
2020 Шаблон:Nobr Шаблон:Флаг ННГУ Алексей Данилюк, Николай Калинин, Валерия Рябчикова Алексей Шмелев
2019 Шаблон:Флагификация, Порту Шаблон:Флаг МГУ Михаил Ипатов, Владислав Макеев, Григорий Резников Елена Андреева
2018 Шаблон:Флагификация, Пекин Шаблон:Флаг МГУ Михаил Ипатов, Владислав Макеев, Григорий Резников Елена Андреева
2017 Шаблон:Флагификация, Рапид-Сити Шаблон:Флаг Университет ИТМО Иван Белоногов, Илья Збань, Владимир Смыкалов Андрей Станкевич
2016 Шаблон:Флагификация, Пхукет Шаблон:Флаг СПбГУ Станислав Ершов, Алексей Гордеев, Игорь Пышкин Андрей Лопатин
2015 Шаблон:Флагификация, Марракеш Шаблон:Флаг Университет ИТМО Геннадий Короткевич, Борис Минаев, Артём Васильев Андрей Станкевич
2014 Шаблон:Nobr Шаблон:Флаг СПбГУ Дмитрий Егоров, Павел Кунявский, Егор Суворов Андрей Лопатин
2013 Шаблон:Флагификация, Санкт-Петербург Шаблон:Флаг Университет ИТМО Михаил Кевер, Геннадий Короткевич, Нияз Нигматуллин Андрей Станкевич
2012 Шаблон:Флагификация, Варшава Шаблон:Флаг Университет ИТМО Евгений Капун, Михаил Кевер, Нияз Нигматуллин Андрей Станкевич
2011 Шаблон:Флагификация, Орландо Шаблон:Флаг Чжэцзянский университет Мо Луи (Luyi Mo), Оуян Цзялинь (Jialin Ouyang), У Цзэцзюнь (Zejun Wu) Ван Цань (Can Wang)
2010 Шаблон:Флагификация, Харбин Шаблон:Флаг Шанхайский университет транспорта (Цзяотун) Цзинь Бинь (Bin Jin), У Чжоцзе (Zhuojie Wu), Чжэн Чжао (Zhao Zheng) Юй Юн (Yong Yu)
2009 Шаблон:Флагификация, Стокгольм Шаблон:Флаг Университет ИТМО Владислав Исенбаев, Максим Буздалов, Евгений Капун Андрей Станкевич
2008 Шаблон:Флагификация, Банф Шаблон:Флаг Университет ИТМО Дмитрий Абдрашитов, Дмитрий Паращенко, Фёдор Царёв Андрей Станкевич
2007 Шаблон:Флагификация, Токио Шаблон:Флаг Варшавский университет Филип Вольски (Filip Wolski), Марцин Пилипчук (Marcin Pilipczuk), Марек Цыган (Marek Cygan) Ян Мадей (Jan Madey)
2006 Шаблон:Флагификация, Сан-Антонио Шаблон:Флаг Саратовский государственный университет Роман Алексеенков, Игорь Кулькин, Иван Романов Михаил Мирзаянов
2005 Шаблон:Флагификация, Шанхай Шаблон:Флаг Шанхайский университет транспорта (Цзяотун) Дай Вэньюань (Wenyuan Dai), Чжао Шуан (Shuang Zhao), Ян Бохай (Bohai Yang) Юй Юн (Yong Yu)
2004 Шаблон:Флагификация, Прага Шаблон:Флаг Университет ИТМО Дмитрий Павлов, Павел Маврин, Сергей Оршанский Андрей Станкевич
2003 Шаблон:Флагификация, Беверли-Хиллс Шаблон:Флаг Варшавский университет Томаш Чжайка (Tomasz Czajka), Кшиштоф Онак (Krzysztof Onak), Анджей Гасиница-Самек (Andrzej Gasienica-Samek) Ян Мадей (Jan Madey)
2002 Шаблон:Флагификация, Гонолулу Шаблон:Флаг Шанхайский университет транспорта (Цзяотун) Линь Чэньси (Chenxi Lin), Чжоу Цзянь (Jian Zhou), Лу Цзин (Jing Lu) Юй Юн (Yong Yu)
2001 Шаблон:Флагификация, Ванкувер Шаблон:Флаг СПбГУ Николай Дуров, Андрей Лопатин, Виктор Петров Дмитрий Ломов
2000 Шаблон:Флагификация, Орландо Шаблон:Флаг СПбГУ Николай Дуров, Андрей Лопатин, Олег Етеревский Наталья Вояковская
1999 Шаблон:Флагификация, Эйндховен Шаблон:Флаг Университет Уотерлу Ондрей Лхотак (Ondrej Lhotak), Вьет-Тунг Луу (Viet-Trung Luu), Дэвид Кеннеди (David Kennedy), Донни Чунг (Donny Cheung) Гордон Кормак (Gordon Cormack)
1998 Шаблон:Флагификация, Атланта Шаблон:Флаг Карлов университет Иржи Хаек (Jiri Hajek), Павел Машек (Pavel Machek), Мартин Марес (Martin Mares) Павел Топфер (Pavel Töpfer)
1997 Шаблон:Флагификация, Сан-Хосе Шаблон:Флаг Харви Мадд Колледж Брайан Карнс (Brian Carnes), Брайан Джонсон (Brian Johnson), Кевин Уоткинс (Kevin Watkins), Доминик Маццони (Dominic Mazzoni) Роберт Келлер (Robert Keller)
1996 Шаблон:Флагификация, Филадельфия Шаблон:Флаг Калифорнийский университет в Беркли Бен Рудиак-Гулд (Ben Rudiak-Gould), Амит Сахай (Amit Sahai), Скотт МакПик (Scott McPeak) Пол Хилфингер (Paul Hilfinger)
1995 Шаблон:Флагификация, Нэшвил Шаблон:Флаг Фрайбургский университет Маттиас Руль (Matthias Ruhl), Кристиан Ветцль (Christian Wetzel), Филипп Земброд (Phillip Zembrod)
1994 Шаблон:Флагификация, Финикс Шаблон:Флаг Университет Уотерлу Сейджи Андо (Seiji Ando), Ян Голдберг (Ian Goldberg), Ка-Пин Йи (Ka-Ping Yee) Джо Эберген (Jo Ebergen)
1993 Шаблон:Флагификация, Индианаполис Шаблон:Флаг Гарвардский университет Деррик Басс (Derrick Bass), Тони Шей, Крейг Сильверстайн (Craig Silverstein)
1992 Шаблон:Флагификация, Канзас-Сити Шаблон:Флаг Мельбурнский университет Эндрю Конвей (Andrew Conway), Крейг Диллон (Craig Dillon), Стивен Симмонс (Stephen Simmons)
1991 Шаблон:Флагификация, Сан-Антонио Шаблон:Флаг Стэнфордский университет Майкл Патрик Фрэнк (Michael Patrick Frank), Шон Куинлан (Sean Quinlan), Дэвид Магерман (David Magerman), Карл Уитти (Carl Witty)
1990 Шаблон:Флагификация, Вашингтон Шаблон:Флаг Университет Отаго John Gee, Craig McNaughton, Paul Sharp, Bruce Warrington
1989 Шаблон:Флагификация, Луисвилл Шаблон:Флаг Калифорнийский университет в Лос-Анджелесе Seth Goldman, Alex Quilici, Matthew Marzbacher, Scott Turner
1988 Шаблон:Флагификация, Атланта Шаблон:Флаг Калифорнийский технологический институт Dave Gillespie, Adam Greenblatt, Ron Goodman, Scott Hemphill
1987 Шаблон:Флагификация, Сент-Луис Шаблон:Флаг Стэнфордский университет Bob Alverson, Tomas Rokicki, Ali Tabibian, Lei Zhu
1986 Шаблон:Флагификация, Цинциннати Шаблон:Флаг Калифорнийский технологический институт Steve Burns, Tim Kay, Dave Gillespie, Steve Rabin, Rajiv Gupta
1985 Шаблон:Флагификация, Новый Орлеан Шаблон:Флаг Стэнфордский университет Michael Dixon, Micheal Hewett, Vivek Sarkar, Joseph Weening
1984 Шаблон:Флагификация, Филадельфия Шаблон:Флаг Университет Джонса Хопкинса Michael Baldwin, Robert Strandh, John Walker, Richard Washington Joseph O’Rourke
1983 Шаблон:Флагификация, Мельбурн Шаблон:Флаг Университет Небраски Mark Tuttle, Thane Plambeck, David Leavitt, Paul Petersen
1982 Шаблон:Флагификация, Индианаполис Шаблон:Флаг Университет Бэйлора Keith Hall, Patrick Keane, Jennifer Harmon, Terry Talley Don Gaitros
1981 Шаблон:Флагификация, Сент-Луис Шаблон:Флаг Миссурийский университет Кристофер Фройнд (Christopher Freund), Майкл Ричи (Michael Richey), Джеймс Симмонс (James Simmons), Кэтрин Пирон Физелер (Catherine Pyron Fieseler)
1980 Шаблон:Флагификация, Канзас-Сити Шаблон:Флаг Сент-Луисский университет Стив Карасек (Steve Karasek), Натан Шредер (Nathan Schroeder), Майк Зайда (Mike Zyda), Дэйв Кэмп (Dave Camp)
1979 Шаблон:Флагификация, Дэйтон Шаблон:Флаг Сент-Луисский университет Стив Карасек (Steve Karasek), Натан Шредер (Nathan Schroeder), Дэвид Доти (David Doty), Дэйв Кэмп (Dave Camp)
1978 Шаблон:Флагификация, Детройт Шаблон:Флаг Массачусетский технологический институт
1977 Шаблон:Флагификация, Атланта Шаблон:Флаг Мичиганский университет

* В связи с пандемией COVID-19 соревнование проводилось в ноябре 2022 года.

**Финалы сезонов 2021–2022 и 2022–2023 прошли одновременно в апреле 2024 года.

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Викиновости Шаблон:Викиновости

Шаблон:Соревнования по программированию