Pravidlá súťaže ACM v skratke
-
NAJSTRUČNEJŠIE POVEDANÉ: 6-10 problémov - 5 hodín času - tím 3 ľudí - iba 1 počítač.
-
Problémy majú presne špecifikovaný formát vstupu a výstupu
(čítajú text zo štandardného vstupu a zapisujú do štandardného výstupu), dôležité
je teda vnútorné spracovanie - správne a podľa možností aj rýchle
algoritmy.
-
Zadania a komunikácia s usporiadateľmi sú v angličtine.
-
Programovať možno v Pascale, C a C++.
-
Problém treba naprogramovať, odladiť a odovzdať zdrojový text programu.
Rozhodcovia si ho skompilujú a skúšajú ho na neznámych vstupných údajoch.
Keď program pracuje so všetkými (rozhodcovskými) vstupmi správne (t.j. dodá presne
očakávané výstupy) a v určenom časovom limite (ktorý je tiež
neznámy), riešenie je akceptované (Accepted).
-
V prípade neakceptovaného riešenia sa udáva jeden z týchto dôvodov:
- Wrong Answer = program nedodal správny výstup
- Presentation Error = výstup je v podstate správny, ale chybne formátovaný
- Time Limit Exceeded = program neskončil v časovom limite
- Run-time Error = program sa zrútil alebo skončil s nenulovým
návratovým kódom
- Compile Error = program sa nepodarilo skompilovať
- Invalid Library Call = program používa nepovolené operácie
-
Programy môžu používať iba štandardné operácie knižnic ANSI.
Ide o funkcie definované v hlavičkových súboroch
stdio.h,
stdlib.h,
ctype.h,
string.h,
math.h,
limits.h,
complex.h,
iostream.h
z ktorých povolené sú funkcie
abs atoi bsearch bzero calloc
ceil drem exit exp fflush
fgetc fgets floor fmod free
getc getchar gets hypot
isalnum isalpha isdigit
ispunct isspace log malloc
memcmp memcpy memmove memset
pow printf puts qsort realloc
scanf setbuf sprintf sqrt
sscanf strcasecmp strcat
strchr strcmp strcpy strlen
strncasecmp strncmp strncpy
strrchr strstr strtok strtol
tolower toupper ungetc
a zakázané sú
accept bind fopen fork
gethostbyaddr herror listen
perror raise signal sleep socket
sockgetstr sockread sockwrite
time times vfork waitpid
(Pre Pascal platia zodpovedajúce ekvivalenty.)
-
Nie je dovolené akokoľvek sa pokúšať narušiť systém odovzdávania a hodnotenia
riešení problémov, alebo hľadať jeho slabiny.
-
Súťažný tím je trojčlenný a skladá sa zo študentov vysokej školy,
z ktorých najviac jeden už má ukončený nejaký stupeň vysokoškolského štúdia
(napr. bakalár) a ani jeden neukončil štúdium pred viac ako 2 rokmi,
ani nemá titul PhD.
-
Okrem 1 počítača pre tím nie je povolené používať žiadne elektronické počítače, kalkulačky
ani komunikačné zariadenia.
Akákoľvek papierová literatúra (vrátane vytlačených listingov apod.)
sa môže používať.
-
Hodnotí sa
v prvom rade počet vyriešených problémov a v druhom rade
súčet časov (vždy meraných od začiatku súťaže!) úspešných
odovzdaní príkladov. Za odovzdanie, ktoré nie je akceptované,
je pokuta 20 minút, ale táto sa do celkového času započíta, iba ak nakoniec problém
akceptovaný bol. (Z toho vyplýva, že treba ako prvé riešiť najľahšie
príklady a opraviť neakceptovaný program sa väčšinou oplatí.)
-
S výnimkou poslednej hodiny súťaže sa priebežne zverejňuje, ktoré problémy jednotlivé
tímy úspešne odovzdali, a priebežné poradie.
-
Po minulé 2 roky (a veľmi pravdepodobne aj tento) sa v stredoeurópskom kole pracovalo pod Linuxom
na textových termináloch, s použitím kompilátora GNU.
Viac podrobností nájdete na oficiálnej stránke regionálneho kola súťaže.
[ Na hlavnú stránku ]