Univerzitetni programerski maraton
(Vsebina pravilnika)
Pravilnik o tekmovanju ACM Univerzitetni programerski maraton (v nadaljevanju Tekmovanje), določa:
V pravilniku uporabljeni nazivi, zapisani v moški slovnični obliki, so uporabljeni kot nevtralni za moške in ženske.
(Cilji tekmovanja)
Cilji tekmovanja so študentom in tudi ostalim ponuditi možnost izboljševanja in dokazovanja sposobnosti reševanja problemov, programiranja ter razvijanja izkušenj pri skupinskem delu. Tekmovanje predstavlja stično točko za akademski svet in gospodarstvo. Poleg tega naj bi tekmovanje spodbudilo pozornost javnosti na naslednje generacije računalniških strokovnjakov, ki si prizadevajo za odličnost.
(Spletna stran tekmovanja)
Uradna spletna stran Tekmovanja je www.upm.si. Ta pravilnik je objavljen na spletni strani tekmovanja.
(Etape tekmovanja)
Tekmujejo dvo ali tričlanske ekipe in izjemoma enočlanske ekipe. Tekmovanje poteka v dveh etapah:
V nadaljevanju se posamezno predkolo in finalno tekmovanje imenuje kolo.
Programski svet vsako leto določi število predkol in jih objavi ob razpisu tekmovanja. Predkola imajo značaj predtekmovanja in pomenijo izbor za nastop na finalnem tekmovanju. Tudi v predkolih je določen vrstni red ekip posameznega predkola.
Finalno tekmovanje se izvaja na enem mestu. Praviloma se mesto finalnega tekmovanja krožno menja med sodelujočimi univerzami.
Na finalno tekmovanje se avtomatično uvrstijo po najboljše tri univerzitetne ekipe iz sodelujočih univerz, ne glede na njihovo uvrstitev na skupni lestvici. Poleg tega vsaki sodelujoči univerzi pripada še dodatno mesto za vsakih začetih 10 na predkolih sodelujočih univerzitetnih ekip.
Koliko ekip skupno se uvrsti na finalno tekmovanje, odloči Programski svet tekmovanja v skladu z organizacijskimi možnostmi.
Skupaj s prijavo ekipe vsi člani ekipe potrdijo tudi javno objavo rezultatov.
(Sestava ekip)
Ekipo sestavljajo praviloma trije člani, lahko pa tudi le dva člana. Izjemoma je lahko ekipa enočlanska, kar potrdi vodja tekmovanja. Vsaka ekipa imenuje svojega kapetana, ki je nosilec pravic te ekipe. Sestava ekipe se med tekmovanjem lahko menja. Na posameznem predkolu oziroma na finalu morata biti prisotna vsaj dva člana ekipe.
Za univerzitetno ekipo šteje tista ekipa, ki jo v času finala sestavljajo izključno člani iz iste univerze s statusom študenta te univerze.
Ekipe se lahko med tekmovanji spreminjajo, vendar le z odobritvijo vodje tekmovanja in to najkasneje dva dni pred posameznim kolom. Predlog z obrazložitvijo za zamenjavo članov lahko poda kapetan ekipe, predlog z obrazložitvijo za zamenjavo kapetana pa le soglasno vsi ostali člani. Če od tekmovanja odstopi kapetan, ekipa na poziv vodje tekmovanja imenuje novega kapetana. Odstavljeni kapetan lahko osnuje novo ekipo, ki se ji dodeli točke, katere je dosegla kapetanova prejšnja ekipa.
Vsa pojasnila in tolmačenja so v pristojnosti Programskega sveta tekmovanja.
(Prostovoljnost sodelovanja)
Sodelovanje na tekmovanju je prostovoljno.
(Pravica udeležbe na tekmovanju)
Tekmovanje je odprtega tipa, torej je sestava ekip poljubna. V ekipah ne smejo sodelovati edino posamezniki, ki so udeleženi pri pripravi tekmovanja. V primeru dvoumnosti o pravici udeležbe razsodi Programski svet tekmovanja.
(Programski svet in imenovanje članov)
Tekmovanje strokovno in vsebinsko vodi Programski svet tekmovanja, ki ga sestavljajo predsednik in najmanj 6 članov. V Programskem svetu so predstavniki sodelujočih univerz in drugih ustanov oziroma organizacij.
Sestavo (in zamenjavo članov) Programskega sveta predlaga predsednik sveta in jo potrdi Komisija za tekmovanja pri ACM Slovenija. Predlog za zamenjavo članov in Predsednika sveta poda sam predsednik ali Komisija za tekmovanja pri ACM Slovenija.
(Organizator tekmovanja in organizacijski odbor)
Tekmovanja organizira društvo ACM Slovenija. Tekmovanja vodi in usmerja Organizacijski odbor, od katerih mora biti vsaj po en član iz vsake sodelujoče univerze.
Poleg tega je v Organizacijskem odboru še predsednik Programskega sveta in predsednik Komisije za tekmovanja ACM Slovenija. Člani organizacijskega odbora izmed sebe izvolijo predsednika.
Naloga Organizacijskega odbora je, da poskrbi za pripravo in izvedbo vseh predkol in finalnega tekmovanja.
(Udeležba na ACM ICPC CERC)
Programski svet po izvedenem finalnem tekmovanju univerzam predlaga, da na tekmovanje ACM ICPC CERC pošljejo zmagovalne univerzitetne ekipe posameznih univerz v sestavi, v kakršni so tekmovali na finalnem tekmovanju. Poleg tega Programski svet lahko predlaga posameznim univerzam tudi udeležbo dodatnih ekip.
(Razpis tekmovanja)
ACM Slovenija na predlog Programskega sveta objavi razpis Tekmovanja do 21. marca v tekočem šolskem letu. Razpis mora biti javno objavljen. Razpis se objavi na spletni strani Tekmovanja.
(Vsebina razpisa)
Razpis tekmovanja obsega:
(Prijava na tekmovanje)
Prijavljanje je omogočeno preko spletnega obrazca na spletni strani Tekmovanja.
(Priprava nalog)
Tekmovalne naloge ter rešitve nalog pripravi Programski svet. Naloge so sestavljene tako, da izbira okolja in programskega jezika ne bo vplivala na tekmovanje. Besedila nalog so bodisi v slovenščini, bodisi v angleščini.
Tekmovalci rešujejo naloge na računalniku. Tekmovalne naloge so lahko avtorsko delo.
(Tajnost nalog)
Programski svet je odgovoren za tajnost nalog in rešitev do začetka reševanja nalog.
(Objava nalog)
Naloge z rešitvami tekmovanja se praviloma objavijo na spletni strani Tekmovanja po zaključku tekmovanja.
(Hranjenje izdelkov)
Organizacijski odbor hrani izdelke s tekmovanja vsaj pet let, nato pa, če je to potrebno, zagotovi uničenje le-teh.
(Trajanje tekmovanja)
Tekmovanje vodijo sodniki, ki jih imenuje Programski svet.
Reševanje nalog na predkolih traja med 180 in 300 minutami, kar za posamezno predkolo določi Programski svet. Reševanje nalog na finalu traja 300 minut, če ni v navodilih za izvedbo drugače predpisano.
(Programski jeziki tekmovanja in tekmovalno okolje)
Dovoljeni jeziki so Java, C, C++, pascal in python.
Tekmovanje poteka v operacijskem sistemu Linux, s prevajalniki iz družine GNU. Ekipe imajo na voljo enako nastavljene prevajalnike kot sodniki, zato poseganje v nastavitve prevajalnika ni dovoljeno in pomeni diskvalifikacijo ekipe.
Ekipa lahko uporablja samo en, v ta namen določen računalnik. Primer poskusa prijave na več računalnikov se konča z diskvalifikacijo.
(Oddaja nalog)
Probleme rešuje tako, da na predpisan način odda kodo v ustreznem jeziku. Za rešen problem se šteje tisti, katerega koda da pravilen razultat na neznanem skupku testnih podatkov. V primeru neustreznega odgovora sodniki tekmovanja ekipi sporočijo za kakšno vrsto napake gre. Ekipa lahko odda rešitev istega problema večkrat. Napake, ki jih javijo sodniki, so:
Razen omenjenih obvestil sodniki ne javijo nobenih drugih informacij. Tekmovalci ne izvedo npr. vrste napake med izvajanjem ali prevajalnikove napake.
(Spraševanje med tekmovanjem)
Tekmovalci lahko med tekmovanjem postavljajo vprašanja v zvezi z nalogami, vendar le z uporabo v ta namen nastavljenega programa za neposredno sporočanje. Vsa vprašanja in odgovori sodnikov so vidni tudi drugim ekipam. Izjemoma se lahko sodniki odločijo, da bodo odgovor posredovali le ekipi, ki ga je zastavila.
(Dovoljeni pripomočki)
Na tekmovanju je dovoljeno vse gradivo, ki ni neposredno elektronsko berljivo (diskete, CD- ji torej niso dovoljeni, knjige pa). Lastni računalniki ali deli strojne opreme niso dovoljeni. Vodja tekmovanja lahko posamezni ekipi dovoli uporabo lastne tipkovnice in/ali miške, ki pa jo mora ekipa dati na pregled nadzorni osebi vsaj pol ure pred začetkom posameznega tekmovanja.
Med tekmovanjem je prepovedana uporaba vseh programov na računalniku, razen tistih, ki jih tekmovalna komisija poimensko našteje (urejevalniki, prevajalniki) in so napisana na tekmovalnem gradivu. Prav tako ni dovoljena uporaba Interneta.
(Nadzorne osebe)
Potek reševanja tekmovalnih nalog nadzoruje v vsakem prostoru vsaj po ena nadzorna oseba, ki ima možnost zamenjave. Nadzorne osebe imenuje Programski svet in so praviloma člani Programskega sveta ali Organizacijskega odbora.
V primeru kršitve določil tega pravilnika ali pravil tekmovanja (uporaba nedovoljenih sredstev, motenje sotekmovalcev) se ekipo odstrani iz prostora, kjer poteka tekmovanje, in diskvalificira.
(Ocenjevanje in razvrstitev)
V določenem času mora ekipa rešiti čim več problemov. V predkolih ekipa dobi po eno točko za pravilno rešeno nalogo. Za uvrstitev na finalno tekmovanje se štejejo le točke najboljših dveh predkol, razen, če Programski svet tekmovanja ob razpisu ne določi drugače.
V finalnem tekmovanju ekipa dobi po dve točki za pravilno rešeno nalogo.
Pri skupnem rezultatu se upoštevajo točke predkol, kot pri uvrstitvi na finalno tekmovanje, in točke finalnega tekmovanja.
V primeru enakega števila točk za rešene naloge se razvrstitev določi glede na skupni čas. Čas se šteje od začetka tekmovanja v posameznem kolu do trenutka, ko je ekipa oddala rešitev za določeno nalogo. Za vsako nepravilno oddajo naloge, ki je na koncu ocenjena kot pravilna, se k času doda 20 minut. Za nepravilne oddaje nalog, ki na koncu niso bile pravilno rešene, ni časovnega pribitka.
(Diskvalifikacija)
V primeru nešportnega obnašanja Programski svet ekipo diskvalificira. S tem ekipa zgubi vse točke dosežene na tem tekmovanju. Programski svet določi nadaljnje sankcije. Med drugim lahko ekipi prepove nadaljnje tekmovanje.
O razlogih za diskvalifikacijo razpravlja Programski svet, ki sprejme sklep o izključitvi. Sklep se vpiše v zapisnik tekmovanja, kjer se navede razlog za izključitev. S tem je ekipa izključena iz nadaljnjega tekmovanja, odločitev o izključitvi pa je dokončna.
(Povezava s pravili ACM ICPC)
Na tekmovanju pri posameznem tekmovanju veljajo smiselno pravila, ki veljajo na tekmovanju ACM ICPC v splošnem. Na voljo so na http://icpc.baylor.edu/icpc/ali še kje drugje.
(Kraj in čas tekmovanja)
Predkola potekajo hkrati na posameznih sodelujočih univerzah s centralnim vodenjem preko spleta in istimi nalogami. Pregledovanje nalog in točkovanje se izvaja centralno preko spleta. Vse ekipe so razvrščene skupno ne glede na mesto, kjer se udeležujejo tekmovanja.
Finalno tekmovanje je enodnevno. Reševanje nalog poteka v prostorih, ki jih zagotovi organizator finalnega tekmovanja. Tekmovanje se prične dopoldne z reševanjem nalog in zaključi popoldne z objavo rezultatov. Natančen časovni potek finalnega tekmovanja mora biti objavljen na spletni strani najmanj teden dni pred izvedbo tekmovanja.
(Rezultati)
Rezultati predkol morajo biti praviloma objavljeni najkasneje do 23. ure tekmovalnega dne in rezultati finala morajo biti praviloma objavljeni najkasneje do 17. ure tekmovalnega dne.
Na rezultate lahko ekipa vloži pisni ugovor, v katerem navede svoje ime, zaporedno številko naloge, za katero meni, da ni bila pravilno ovrednotena, in kratko utemeljitev.
Kapetan ekipe lahko vloži pisni ugovor v treh dneh po tekmovanju na način in naslov, ki ga izve na tekmovanju.
Programski svet preveri pritožbo in sprejme sklep. Sklep pošlje Organizacijski odbor tekmovalcu na naslov, ki ga le-ta navede na ugovoru. Sklep je dokončen.
(Naloge Programskega sveta)
Programski svet:
(Kriteriji za podeljevanje priznanj in nagrad)
Na posameznem predkolu dobijo nagrado po tri najboljše ekipe, pri čemer se upoštevajo ekipe z vseh prizorišč.
Po finalnem tekmovanju dobijo nagrade in pokale najboljša univerzitetna ekipa iz vsake sodelujoče univerze v skupnem vrstnem redu. Zmagovalne ekipe iz posamezne univerze dobijo naziv »prvak univerze«.
Po finalnem tekmovanju dobijo nagrade najboljše tri ekipe. Najboljša ekipa postane »prvak UPM« in dobi pokal.
(Objava dosežkov)
Skupni končni dosežki morajo biti objavljeni najkasneje v sedmih delovnih dneh po zaključku posameznega kola. Iz objave dosežkov mora biti razvidno, koliko točk je posamezna ekipa osvojil in katero mesto je dosegla. Objava mora vključevati: naslov tekmovanja in raven, ime ekipe, ime in priimek kapetana in ostalih tekmovalcev, naziv univerze in kraj. Ti dosežki so javni in so dostopni na spletni strani Tekmovanja.
(Vpogled v dosežke na tekmovanju)
Vsakemu ekipi je omogočen vpogled v lastne dosežke na tekmovanju in vpogled v morebiten sklep Programskega sveta o ugovoru.
(Tiskovine za priznanja in nagrade)
Tiskovine za priznanja pripravi Organizacijski odbor, odbor tudi poskrbi za pridobivanje nagrad.
(Priprava priznanj)
Vsa priznanja morajo biti oštevilčena, podpisana s podpisom predsednika komisije za tekmovanja pri ACM Slovenija.
Priznanja natisne Organizacijski odbor.
(Podelitev priznanj in nagrad)
Priznanja in nagrade se podelijo na svečani slovesnosti ob zaključku tekmovanja.
(Evidenca o priznanjih in nagradah)
Evidenco o izdanih priznanjih in podeljenih nagradah vodi in hrani tajnik Organizacijskega odbora.
(Financiranje tekmovanja)
Prijavnine na tekmovanje ni. Viri sredstev za izvedbo državnega tekmovanja so:
(Poraba sredstev)
Med stroške tekmovanja štejemo sredstva, namenjena za:
Navedene postavke so podlaga za pripravo finančnega plana tekmovanja. Finančni plan sprejme Organizacijski odbor.
(Plačilo za delo)
Sodelovanje članov Organizacijskega odbora in Programskerga sveta pri pripravi in izvedbi Tekmovanja je prostovoljno in brezplačno.
(Kršenje pravilnika - član Programskega sveta)
Člani Programskega sveta so dolžni upoštevati določila tega pravilnika in navodila predsednika Programskega sveta.
(Kršenje pravilnika - tekmovalec)
Če udeleženci tekmovanja ne upoštevajo določil tega pravilnika in navodil Programskega sveta, lahko Programski svet izloči iz tekmovanja ekipo, ki ji pripadajo. Izločitev ekipe iz tekmovanja se skupaj z navedbo razloga za izločitev vpiše v zapisnik tekmovanja.
(Prvi predsednik Programskega sveta)
Prvi predsednik Programskega sveta je dr. Gregor Jerše.
(Sprejem pravilnika)
Pravilnik o tekmovanju srednješolcev v znanju računalništva sprejme Komisija za tekmovanja pri ACM Slovenija. Spremembe in dopolnitve pravilnika pripravi Organizacijski odbor po svoji pobudi ali na pobudo Programskega sveta.
Ta pravilnik začne veljati z dnem, ko ga potrdi Komisija za tekmovanja pri ACM Slovenija. Pravilnik je sprejela Komisija za tekmovanja ACM Slovenija, 14.4.2011.
Komisija za tekmovanja pri ACM Slovenija
dr. Andrej Brodnik, predsednik