Programátorská ACM sútaž na FEI STU, október 2000 - Pravidlá sútaže
Zloženie tímov
Každý tím sa skladá z jednoho, až troch sútažiacich, pricom maximálne jeden z clenov tímu môže byt graduovaný (t.j. maximálne jeden môže byt študentom inžinierskeho štúdia).
Každý tím môže mat svojho náhradníka - clena, ktorý môže nahradit jednoho clena v prípade, že sa nechce, alebo nemôže zúcastnit sútaže.
Priebeh sútaže
Sútažiacim je predložených 6-10 príkladov (v prípravnom kole môže byt aj menej), na ktoré dostanú celkom 5 hodín csu (opät v prípravnom kole to môže byt menej). V maximálne miere budú príklady také, aby nezáležalo na konkrétnych znalostiach jednotlivých aplikacných oblastí, ani na detailných znalostiach programovacieho jazyka.
Každý tím bude mat k dispozícii jeden pocítac, pricom všetky tímy dostanú približne rovnaké prostriedky. Sútažiaci budú mat prístup k dvom programovacím jazykom: C a Pascal. Každé riešenie môže byt v lubovolnom jazyku nezávisle na použitý jazyk v predchádzajúcich riešeniach.
Za riešenie je považovaný len samostatný program, ktorý nesmie závisiet na prítomnosti externých dátových súborov, ani nesmie žiadne také súbory vytvárat.
Hodnotenie sútažiacich
Ked tím vytvorí program, o ktorom si myslí, že je správny, odošle ich rozhodcom na posúdenie. Každý taký pokus je bud prijatý ako vyhovujúci, alebo odmietnutý. Tímu je oznámené vyrozumenie o výsledku pokusu. Toto vyrozumenie má vždy podobu práve jednej z nasl. správ:
Compile Error - Nepodarilo sa preložit zaslaný zdrojový kód.
Run-time Error - Program bol úspešne preložený, ale behom výpoctu sa zrútil (napr. kvoli deleniu nulou…).
Time Limit Exceed - Program bol úspešne preložený a spustený, ale neskoncil behom požadovaného casového limitu. Bud sa v nom nachádza nekonecná skucka, alebo bol použitý málo efektívny algoritmus.
Wrong Answer - Program bol spustený, skoncil, vydal nejaké výsledky, ale tie nie sú správne.
Presentation Error - Program bol spustený, skoncil, vydal nejaké výsledky, ktoré sa zdajú byt v poriadku, ale ich tvar nie je presne taký aký bol požadovaný v zadaní. (Casto sa jedná o preklep, vynechanú medzeru…).
Accepted - Program bol uznaný za správny.
Invalid Library Call - Sútažiaci sa pokúsili použit niektorú z nepovolených funkcií jazyka.
Contest Rules Violation -Táto chyba je použitá, ked rozhodcovia nájdu nejaké iné porušenie pravidiel sútaže, alebo nesplnenie zadania.
Ak tím odovzdá na testovanie urcitú úlohu, nesmie túto úlohu dat znova testovat, kým sa nedozvie výsledok. Výnimkou je záver sútaže - posledné hodnotenie, kedy sútažiaci môžu odovzdat viac riešení úloh, ale musia na to rozhodcov upozornit.
Otázky
Pokial majú sútažiaci problém s porozumením zadania, alebo so systémom, môžu sa opýtat organizátorov. Pokial rozhodcovia uznajú, že nejasnost v zadaní skutocne existuje, upozornia všetky tímy. Otázky týkajúce sa zadania musia byt formulované tak, aby rozhodcovia mohli odpovedat jednou z troch odpovedí: ÁNO, NIE, BEZ KOMENTÁRA.
Výsledné hodnotenie
Pre každú úlohu sa stanovuje cas, ktorý je súctom trestného casu a casu od zaciatku sútaže do odovzdania správneho riešenia. Za každé neúspešné testovanie sa trestný cas zvyšuje o 20 minút. Celkový cas tímu je súcet casov za správne vyriešené úlohy.
Poradie tímu sa urcuje na základe poctu správne vyriešených úloh. V prípade rovnosti tohto poctu rozhoduje celkový cas tímu (cím menší, tým lepšie).