«Battle Live». ICPC եզրափակիչը Պորտոյում

Այսօր Պորտուգալիայի Պորտո քաղաքում կանցկացվի ICPC 2019 ծրագրավորման միջազգային մրցույթի եզրափակիչը, որին կմասնակցեն ITMO համալսարանի ներկայացուցիչներ և այլ թիմեր Ռուսաստանի, Չինաստանի, Հնդկաստանի, ԱՄՆ-ի և այլ երկրների համալսարաններից։ Եկեք ավելի մանրամասն պատմենք.

«Battle Live». ICPC եզրափակիչը Պորտոյում
icpcnews /flickr/ 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: Կարող եք ծրագրեր գրել Python, Kotlin, Java կամ C++ լեզուներով։

Երբ թիմը լուծում է խնդիրը, այն ուղարկում է փորձարկման սերվերին, որը գնահատում է կոդը: Մասնակիցները չգիտեն, թե ինչ թեստեր է կատարում մեքենան: Եթե ​​դրանք բոլորն էլ հաջող լինեն, թիմը ստանում է բոնուսային միավորներ: Հակառակ դեպքում, սխալ է առաջանում, և ուսանողներն ուղարկվում են կոդը ուղղելու համար:

Համաձայն ICPC-ի կանոնների՝ հաղթում է այն թիմը, որը լուծում է ամենաշատ խնդիրները: Եթե ​​նման թիմերը մի քանիսն են, ապա հաղթողը որոշվում է նվազագույն XNUMX մետրանոցով: Յուրաքանչյուր լուծված խնդրի համար մասնակիցները ստանում են տուգանային րոպեներ: Րոպեների քանակը հավասար է մրցույթի մեկնարկից մինչև թեստային սերվերի կողմից առաջադրանքն ընդունելու ժամանակին: Եթե ​​թիմը լուծում է գտնում, ապա այն փոխանցելու յուրաքանչյուր սխալ փորձի համար ստանում է ևս քսան րոպե տուգանք։

«Battle Live». ICPC եզրափակիչը Պորտոյում
icpcnews /flickr/ CC BY- ի կողմից / Լուսանկարներ Պուկետում կայացած ICPC-2016 եզրափակիչ փուլից

Նմուշի խնդիրներ

Առաջնության նպատակները պահանջում են թիմային համակարգում և կենտրոնացում: Բացի այդ, նրանք ստուգում են առանձին մաթեմատիկական ալգորիթմների գիտելիքները: Ահա առաջադրանքի օրինակ, որն առաջարկվել է ICPC 2018-ի մասնակիցներին.

Տպագրության մեջ կա «գետ» տերմինը. սա բառերի միջև տարածությունների հաջորդականություն է, որը ձևավորվում է տեքստի մի քանի տողից: Որոշ գետագետ (իսկական) ցանկանում է գիրք հրատարակել։ Նա ցանկանում է, որ էջի վրա «ձևավորվեն» ամենաերկար տպագրական գետերը, երբ տպագրվում են միատառ տառատեսակով: Մասնակիցները պետք է որոշեին այն դաշտերի լայնությունը, որտեղ այս պայմանը կբավարարվեր:

Մուտքի ժամանակ ծրագիրը ստացել է n ամբողջ թիվ (2 ≤ n ≤ 2), որը որոշում է տեքստի բառերի քանակը։ Այնուհետև մուտքագրվեց տեքստը. մեկ տողի բառերը բաժանված էին մեկ բացատով և չէին կարող բաղկացած լինել ավելի քան 500 նիշից:

Ելքի ժամանակ ծրագիրը պետք է ցույց տա դաշտերի լայնությունը, որտեղ ձևավորվում է ամենաերկար «գետը», և այս գետի երկարությունը:

Ամբողջական ցուցակը հետ անցյալ տարվանից և նաև դրանց լուծումները՝ բացատրություններով կարելի է գտնել ICPC կայքում: Նույն տեղում։ կա արխիվ թեստերով, որին «բացահայտված» էին մասնակիցների ծրագրերը։

Այսպիսով, այսօր կեսօրին առաջնության կայքում իսկ YouTube ալիք Դեպքի վայրից ուղիղ հեռարձակում կլինի։ Այժմ հասանելի նախապես ցուցադրվող ձայնագրությունները.

Էլ ի՞նչ ունենք Habré-ի բլոգում.

Source: www.habr.com

Добавить комментарий