Международная студенческая олимпиада по программированию (By';rugjk;ugx vmr;yucyvtgx klnbhng;g hk hjkijgbbnjkfgunZ)
Международная студенческая олимпиада по программированию (в английском принято сокращение ICPC, до 2017 — ACM ICPC), называемая также Студенческим командным чемпионатом мира по программированию ICPC — крупнейшая студенческая командная олимпиада по программированию.
История
[править | править код]Студенческий командный чемпионат мира по программированию ICPC уходит своими корнями в соревнование, проводившееся в Техасском университете в 1970. Свой нынешний облик чемпионат принял в 1977 году, когда первый финал был проведён в рамках ежегодной конференции ACM по информатике, и с тех пор проводится ежегодно[1][2].
До 2017 года чемпионат проводился под эгидой ассоциации вычислительной техники (ACM). Начиная с 1989 года, организацией соревнований занимается университет Бэйлора[1]. В разное время спонсорами соревнований становились такие компании, как Apple, AT&T и Microsoft[3], c 1997 по 2017 год генеральным спонсором являлась компания IBM[1][4], начиная с 2018 года глобальным спонсором средств программирования является компания JetBrains[4].
В России одним из основателей студенческих соревнований по программированию являлся Панкратьев Евгений Васильевич[5].
Россия, Азербайджан, Армения, Белоруссия, Грузия, Казахстан, Кыргызстан, Узбекистан составляют Северный Евразийский регион, ежегодно делегирующий на финальный турнир свои лучшие команды. Квота региона по числу команд с 2009 до 2013 года ежегодно увеличивалась: в 2009 году на финал было отправлено 11 команд, в 2010 — 12 команд, в 2011 — 13 команд, в 2012 — 16 команд, в 2013 — 19 команд, в 2014 — 17 команд[6]. Страны Балтии покинули Северо-Восточный Европейский полуфинальный регион: Эстония — в 2018 году[7], Литва и Латвия — в 2020 году[8].
Правила
[править | править код]Олимпиада — командное соревнование. Каждая команда состоит из трёх студентов. К участию допускаются студенты высших учебных заведений, а также аспиранты первого года обучения. Студенты, дважды участвовавшие в финальной стадии олимпиады, или пятикратно принимавшие участие в региональном отборе, не допускаются к участию. Есть ограничение по возрасту: участники старше 24 лет не допускаются[9].
Тур олимпиады происходит следующим образом: каждой команде выдаётся компьютер и от восьми до двенадцати задач, условия которых написаны на английском языке[10], на пять часов. Команды пишут решения на языках программирования C, C++, Java, Python или Kotlin набирая и компилируя программы, используя Ubuntu 18.04. LTS (2018 год) [источник не указан 950 дней], и посылают их на тестирующий сервер. Во время некоторых региональных туров набор языков может быть изменён. Так, например, при проведении четвертьфинала по северо-восточному региону участникам доступен Паскаль[10]. Программы тестируются на большом количестве различных входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то пославшая её команда получает об этом сообщение и может послать исправленную версию. Задача считается решённой, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются.
Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем. Изначально штрафное время каждой команды равно нулю. За каждую правильно сданную задачу к штрафному времени команды прибавляют время, прошедшее с начала соревнования до момента сдачи задачи. Кроме того, если зачтённой попытке предшествовало несколько неудачных попыток сдать ту же задачу, то за каждую из них к штрафному времени прибавляют двадцать минут. За неудачные попытки сдать задачу, которую команде в итоге так и не удалось решить, штрафного времени не начисляется[11].
От других олимпиад по информатике эта олимпиада отличается повышенным количеством задач, на которые отводится сравнительно небольшое время. Учитывая, что в распоряжении каждой команды находится только один компьютер, навыки эффективной и слаженной командной работы выходят на первый план.
Многие университеты проводят свои олимпиады используя формат ICPC, поскольку данный формат может считаться одним из самых удачных.
Этапы
[править | править код]Олимпиада проводится на нескольких уровнях. Многие университеты проводят внутренние соревнования, чтобы определить своих представителей на региональном уровне. Затем проводятся региональные олимпиады, победители которых отправляются на финальный этап мирового первенства. В региональных соревнованиях один университет может быть представлен несколькими командами, но на финал может отправиться только одна команда от университета.
Победители ICPC
[править | править код]Чемпионами мира с 1977 года становились[12]:
Год | Место проведения | Победитель | Состав команды | Тренер |
---|---|---|---|---|
2024 | Астана, Казахстан | Peking University | Wang Weicheng, Wang Xiangwen, Xu Anyi | Luo Guojie |
2023*** | Луксор, Египет | Высшая школа экономики (FFTilted) | Фёдор Ромашов, Кирилл Кудряшов, Александр Бабин | Михаил Густокашин, Филипп Грибов |
2022*** | Луксор, Египет | Peking University | Lingyu Jiang, Zhanpeng Wang, Yuxiang Luo | Qinjian Zhang |
2021** | Бангладеш, Дакка | Массачусетский технологический институт | Джерри Мао (Jerry Mao), Минъян Дэн (Mingyang Deng), Сяо Мао (Xiao Mao) | Се Цзинь (Ce Jin) |
2020* | Россия, Москва | ННГУ | Алексей Данилюк, Николай Калинин, Валерия Рябчикова | Алексей Шмелев |
2019 | Португалия, Порту | МГУ | Михаил Ипатов, Владислав Макеев, Григорий Резников | Елена Андреева |
2018 | Китай, Пекин | МГУ | Михаил Ипатов, Владислав Макеев, Григорий Резников | Елена Андреева |
2017 | США, Рапид-Сити | Университет ИТМО | Иван Белоногов, Илья Збань, Владимир Смыкалов | Андрей Станкевич |
2016 | Таиланд, Пхукет | СПбГУ | Станислав Ершов, Алексей Гордеев, Игорь Пышкин | Андрей Лопатин |
2015 | Марокко, Марракеш | Университет ИТМО | Геннадий Короткевич, Борис Минаев, Артём Васильев | Андрей Станкевич |
2014 | Россия, Екатеринбург | СПбГУ | Дмитрий Егоров, Павел Кунявский, Егор Суворов | Андрей Лопатин |
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 года.
Примечания
[править | править код]- ↑ 1 2 3 ICPC Fact Sheet (англ.) (8 марта 2019). Архивировано 25 марта 2019 года.
- ↑ CSC '77 Proceedings of the 5th annual ACM computer science conference (англ.) (1977). Дата обращения: 3 декабря 2010.
- ↑ ACM International Collegiate Programming Contest Team Participation Since 1989 (англ.). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
- ↑ 1 2 Михаил Мирзаянов. ACM-ICPC Финал 2017: вести с полей . Codeforces (23 мая 2017). Дата обращения: 25 марта 2019. Архивировано 25 марта 2019 года.
- ↑ Скончался Е.В. Панкратьев . Институт систем информатики им. А. П. Ершова СО РАН (24 января 2008).
- ↑ World Finalists from Northern Eurasia . Дата обращения: 14 октября 2019. Архивировано 14 октября 2019 года.
- ↑ Ср. результаты отборочного тура за 2017 Архивная копия от 16 августа 2022 на Wayback Machine и 2018 Архивная копия от 16 августа 2022 на Wayback Machine годы: университет Tallinn SU прекратил участие.
- ↑ Ср. результаты отборочного тура за 2020 Архивная копия от 16 августа 2022 на Wayback Machine и 2021 Архивная копия от 28 сентября 2022 на Wayback Machine годы: университеты VU и LU прекратили участие (астериск перед названием команды означает участие вне конкурса).
- ↑ Rules of the 2008 ICPC Regional Contests (англ.) (27 февраля 2008). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
- ↑ 1 2 :: ACM ICPC, NEERC, Southern Subregion :: Порядок и правила проведения соревнований . Дата обращения: 18 октября 2011. Архивировано 21 сентября 2011 года.
- ↑ The Rules of the 2009 ACM-ICPC World Finals (англ.) (8 апреля 2008). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
- ↑ ICPC World Champion Hall of Fame (англ.). ICPC International Collegiate Programming Contest. Дата обращения: 6 сентября 2023. Архивировано 6 сентября 2023 года.