"Жандуу согуш": Портодогу ICPC финалы

бүгүн ICPC 2019 программалоо боюнча эл аралык сынактын финалы Португалиянын Порту шаарында өтөт. Ага ITMO университетинин өкүлдөрү жана Россия, Кытай, Индия, АКШ жана башка өлкөлөрдүн университеттери катышат. кененирээк айтып берели.

"Жандуу согуш": Портодогу ICPC финалы
icpcnews /flickr/ CC BY / Пхукеттеги ICPC-2016 финалынан сүрөттөр

ICPC деген эмне

ICPC студенттер арасында программалоо боюнча эл аралык сынак болуп саналат. Алар 40 жылдан ашык убакыттан бери өткөрүлүп келет - биринчи финал мен эле кайра 1977-жылы. Тандоо бир нече этап менен жүргүзүлөт. Университеттер региондор боюнча бөлүнөт (Европа, Азия, Африка, Америка ж.б.). Алардын ар бири орто этаптарды, атап айтканда Түндүк Евразия жарым финалын өткөрөт университетибизде болуп өттү. Финалга облустук этаптын жеңүүчүлөрү катышат.

ICPCте үч катышуучудан турган командаларга бир компьютерди (Интернетке туташкан эмес) колдонуу менен бир катар маселелерди чечүү сунушталат. Ошентип, программалоо көндүмдөрүнөн тышкары, командада иштөө көндүмдөрү да текшерилет.

ITMO университетинин командалары ICPC башкы байгесин жети жолу жеңип алышкан. Бул көп жылдар бою сакталып келген абсолюттук рекорд. Алар ICPC Кубогу 2019 үчүн күрөштө беттешет планетанын бардык бурчтарынан 135 топ. ITMO University бул жылы тарабынан көрсөтүлөт Илья Подуременных, Станислав Наумов и Роман Коробков.

Финал кантип өтөт?

Мелдештин жүрүшүндө командалар бир компьютер алат үч адам үчүн. Ал Ubuntu 18.04 иштейт жана vi/vim, gvim, emacs, gedit, geany жана Кейт алдын ала орнотулган. Сиз Python, Kotlin, Java же C++ программаларын жаза аласыз.

Команда көйгөйдү чечкенде, аны кодду баалаган тестирлөө серверине жөнөтөт. Катышуучулар аппарат кандай сыноолорду аткарып жатканын билишпейт. Алардын баары ийгиликтүү болсо, команда бонустук упайларды алат. Болбосо, ката түзүлүп, студенттер кодду оңдоого жөнөтүлөт.

ICPC эрежелери боюнча, эң көп маселени чечкен команда жеңет. Эгерде мындай командалар бир нече болсо, анда жеңүүчү эң аз айып убактысы боюнча аныкталат. Катышуучулар ар бир чечилген маселе үчүн айып мүнөттөрүн алышат. Мүнөттөрдүн саны сынак башталгандан тесттик сервер тарабынан тапшырманы кабыл алганга чейинки убакытка барабар. Эгерде команда чечимди тапса, анда аны өткөрүп берүү үчүн ар бир туура эмес аракет үчүн дагы жыйырма мүнөттүк айып пул алат.

"Жандуу согуш": Портодогу ICPC финалы
icpcnews /flickr/ CC BY / Пхукеттеги ICPC-2016 финалынан сүрөттөр

Примеры задач

Чемпионаттын максаттары команданын координациясын жана концентрациясын талап кылат. Мындан тышкары, алар жеке математикалык алгоритмдер боюнча билимдерин сынашат. Бул жерде ICPC 2018 катышуучуларына сунушталган тапшырманын мисалы:

Типографияда "дарыя" деген термин бар - бул тексттин бир нече саптарынан түзүлгөн сөздөрдүн ортосундагы боштуктардын ырааттуулугу. Белгилүү бир дарыя эксперти (чыныгы) китеп чыгаргысы келет. Ал бир мейкиндиктүү шрифтте басып чыгарууда баракта эң узун типографиялык дарыялардын “түзүлүшүн” каалайт. Катышуучулар бул шарт аткарыла турган талаалардын туурасын аныкташы керек болчу.

Киргизүүдө программа бүтүн n санын (2 ≤ n ≤ 2) алды, ал тексттеги сөздөрдүн санын аныктайт. Андан кийин текст киргизилди: бир саптагы сөздөр бир боштук менен бөлүнүп, 500 символдон турушу мүмкүн эмес.

Жыйынтыгында программа эң узун «дарыя» пайда болгон талаалардын туурасын жана бул дарыянын узундугун көрсөтүүгө тийиш болчу.

Толук тизме кайра еткен жылдан бери жана ошондой эле түшүндүрмөлөр менен аларды чечүү ICPC сайтынан тапса болот. Ошол эле жерде. тесттер менен архив бар, ага катышуучулардын программалары "ачыкталган".

Ошентип, бүгүн түштөн кийин чемпионаттын сайтында жана YouTube-канал Окуя болгон жерден түз эфир болот. Азыр жеткиликтүү көрсөтүүгө чейинки жазуулар.

Habré блогунда дагы эмне бар:

Source: www.habr.com

Комментарий кошуу