„Battle Live“: Финале на ICPC во Порто

Денес Во португалскиот град Порто ќе се одржи финалето на меѓународниот натпревар во програмирање ICPC 2019. На него ќе учествуваат претставници на Универзитетот ИТМО и други тимови од универзитети од Русија, Кина, Индија, САД и други земји. Да ви кажеме подетално.

„Battle Live“: Финале на ICPC во Порто
icpcnews /фликр/ CC BY / Фотографии од финалето на ICPC-2016 во Пукет

Што е ICPC

ICPC е меѓународен натпревар за програмирање меѓу студенти. Тие се одржуваат повеќе од 40 години - првото финале помина уште во 1977 година. Изборот се врши во неколку фази. Универзитетите се поделени по региони (Европа, Азија, Африка, Америка итн.). Секој од нив е домаќин на средните етапи, особено северноевроазиските полуфиналиња се одржа на нашиот универзитет. Победниците од регионалните фази учествуваат во финалето.

На ICPC, од тимовите од три учесници се бара да решат голем број на проблеми со помош на еден компјутер (не се поврзани на Интернет). Така, покрај програмските вештини, се тестираат и вештини за тимска работа.

Тимовите на Универзитетот ITMO ја освоија главната награда на ICPC седум пати. Ова е апсолутен рекорд кој стои долги години. Тие ќе се судрат во битката за ICPC Купот 2019 година 135 групи од цела планета. Универзитетот ITMO оваа година е претставен со Илја Подуремених, Станислав Наумов и Роман Коробков.

Како ќе се одржи финалето?

За време на натпреварот, тимови ќе добие еден компјутер за три лица. Работи Ubuntu 18.04 и има претходно инсталирани vi/vim, gvim, emacs, gedit, geany и kate. Можете да напишете програми во Пајтон, Котлин, Јава или Ц ++.

Кога тимот решава проблем, го препраќа до серверот за тестирање, кој го проценува кодот. Учесниците не знаат какви тестови прави машината. Ако сите од нив се успешни, тимот добива бонус поени. Во спротивно, се генерира грешка и студентите се испраќаат да го поправат кодот.

Според правилата на ICPC, победува тимот кој решава најмногу проблеми. Ако има неколку такви тимови, тогаш победникот се одредува со најмала казна. Учесниците добиваат казнени минути за секој решен проблем. Бројот на минути е еднаков на времето од почетокот на натпреварот до прифаќањето на задачата од страна на серверот за тестирање. Ако тимот најде решение, тогаш добива уште дваесет минути казна за секој неправилен обид да го помине.

„Battle Live“: Финале на ICPC во Порто
icpcnews /фликр/ CC BY / Фотографии од финалето на ICPC-2016 во Пукет

Примерок проблеми

Целите на првенството бараат тимска координација и концентрација. Покрај тоа, тие тестираат знаење за индивидуални математички алгоритми. Еве еден пример за задача што им беше понудена на учесниците на ICPC 2018:

Во типографијата, постои термин „река“ - ова е низа на простори помеѓу зборовите, што е формирано од неколку линии на текст. Одреден експерт за реки (за реално) сака да објави книга. Тој сака најдолгите типографски реки да се „формираат“ на страницата при печатење во моносциран фонт. Учесниците мораа да ја утврдат ширината на полињата на кои ќе се исполни оваа состојба.

На влезот, програмата доби цел број N (2 ≤ N ≤ 2), што го одредува бројот на зборови во текстот. Следно, беше внесен текстот: зборовите на една линија беа одделени со еден простор и не можеа да се состојат од повеќе од 500 карактери.

На излезот, програмата мораше да ја покаже ширината на полињата на кои се формира најдолгата „река“ и должината на оваа река.

Целосната листа назад од минатата година и исто така решенија за нив со објаснувања може да се најде на веб-страницата на ICPC. Исто. има архива со тестови, на кои програмите на учесниците беа „изложени“.

Така попладнево на веб-страницата на првенството и Канал на YouTube Ќе има директен пренос од местото на настанот. Достапно сега пред прикажување снимки.

Што друго имаме на блогот на Хабре:

Извор: www.habr.com

Додадете коментар