in English

Міжнародна студентська олімпіада з програмування (в англійському прийнято скорочення ACM / ICPC або просто ICPC) - найбільша студентська командна олімпіада з програмування.

Історія

Міжнародний командний чемпіонат з програмування сягає своїм корінням в змагання, що проводилося в Техаському університеті в 1970. Свій нинішній вигляд чемпіонат прийняв у тисячі дев'ятсот сімдесят сьомому році, коли перший фінал був проведений в рамках щорічної конференції ACM з інформатики, і з тих пір проводиться щорічно.

Чемпіонат проводиться під егідою асоціації обчислювальної техніки (ACM). Починаючи з 1989 року, організацією змагань займається університет Бейлора. У різний час спонсорами змагань ставали такі компанії, як Apple, AT & T і Microsoft, проте з 1997 року по теперішній час генеральним спонсором є компанія IBM.

З 1977 по 1989 в олімпіаді переважно брали участь команди вузів США і Канади. Але сьогодні олімпіада перетворилася у всесвітнє змагання: в 2009 році в ній взяло участь 7109 команд з 88 країн, 100 з яких зійшлися в боротьбі за головний трофей у фінальному турнірі. Кількість команд продовжує зростати на 10-20% на рік, так що в майбутньому змагання обіцяють стати ще більш представницькими.

Правила

Олімпіада - командне змагання. Кожна команда складається з трьох студентів. До участі допускаються студенти вищих навчальних закладів, а також аспіранти першого року навчання. Студенти, які двічі брали участь у фінальній стадії олімпіади або п'ятикратно брали участь у регіональному відборі, не допускаються до участі. Є обмеження за віком: учасники старші 24 років не допускаються.

Тур олімпіади відбувається наступним чином: кожній команді видається комп'ютер і від восьми до дванадцяти завдань, умови яких написані англійською мовою, на 5:00 год. Команди пишуть рішення на мовах програмування C, C ++, Java і посилають їх на тестувальний сервер. Під час деяких регіональних турів набір мов може бути змінений. Так, наприклад, при проведенні чвертьфіналу по північно-східному регіону учасникам доступний Paskal. Програми тестуються на великій кількості різних вхідних тестів, невідомих учасникам. Якщо програма видала неправильну відповідь або не вклалася в обмеження за часом або пам'яті, то команда-відправник отримує про це повідомлення і може перепослати виправлену версію. Завдання вважається вирішеним, якщо програма видала правильні відповіді на всіх тестах. На відміну від інших олімпіад, часткові рішення не враховуються.

Перемагає команда, яка вирішила правильно найбільше число завдань. Якщо кілька команд вирішують однакову кількість завдань, то їх положення в рейтингу визначається штрафним часом. Спочатку штрафний час кожної команди дорівнює нулю. За кожну правильно здану задачу до штрафного часу команди додають час, що минув з початку змагання до моменту здачі завдання. Крім того, якщо зарахованій спробі передувало кілька невдалих спроб здати ту ж задачу, то за кожну з них до штрафного часу додають двадцять хвилин. За невдалі спроби здати задачу, яку команді в підсумку так і не вдалося вирішити, штрафного часу не нараховується.

Від інших олімпіад з інформатики ця олімпіада відрізняється підвищеною кількістю завдань, на які відводиться порівняно невеликий час. Враховуючи, що в розпорядженні кожної команди знаходиться тільки один комп'ютер, навички ефективної і злагодженої командної роботи виходять на перший план.

Багато університетів проводять свої олімпіади використовуючи формат ACM ICPC, оскільки даний формат може вважатися одним з найвдаліших.