ACM programmēšanas
sacensības
(ACM International Collegiate Programming Contest)
Šī ir informatīva lapa par ACM programmēšanas sacensībām.
Pēdējās izmaiņas 16.09.11 11:53:00
Jaunumi:
- Komandu sastāvi (pagaidu variants).
- ACM
studentu programmēšanas sacensības (atlase uz 1/4 finālu Minskā) notiks
piektdien 23.septembrī
18:00 LU Datorikas fakultātes datorklasēs.
- Vienlaicīgi
šajās sacensībās ar Interneta starpniecību piedalās vadošās Igaunijas un
Lietuvas augstskolu komandas (Kauņa, Tallina, Tartu, Viļņa), kurām tās arī
ir iekšējās atlases sacensības. Iespējama arī citu Latvijas un
Baltkrievijas augstskolu piedalīšanās.
- Atbilstoši
sacensību tradicionālajiem noteikumiem sacensību ilgums ir 5 stundas.
- Klātienē
drīkst piedalīties studenti arī no citām Latvijas universitātēm, skolnieki
un citi interesenti
- Tiek
izsludināta oficiālā dalībnieku pieteikšanās. Pieteikumus un jautājumus
lūdzu sūtīt pa e-pastu
,
tēmā ieliekot frāzi “ACM-LU” un tālāk rakstot sev vēlamo tēmu. Ļoti
vēlamais pieteikšanās termiņš ir 22.septembris 18:00. Pastāv iespēja
pieteikties arī vēlāk (nekautrējieties to darīt, ja tomēr izlēmāt
startēt), bet var rasties problēmas paspēt izmēģināt sacensību vidi, ja
piekļuves tiesības tiek definētas pēdējā brīdī. Pieteikumā jāuzrāda mācību
iestāde, komandas nosaukums, dalībnieku vārdi, uzvārdi, kurss (klase) un
ieteicams uzrādīt dalībnieku e-pasta adreses, uz kurām var nosūtīt
jaunumus.
- Pēc
pieteikšanās komandas saņem tiesības izmēģināt sacensību vidi, ja tā jau
ir sagatavota sacensībām.
- Komandā
3 dalībnieki, var būt nepilnas komandas.
- Ja
jums nav pilna komanda un meklējat komandas biedrus, tad norādiet to un
iespēju robežās jums tiks palīdzēts.
- Sacensībās
tiks piedāvāti arī vienkāršāki uzdevumi, lai komandas bez iepriekšējas
sacensību pieredzes spētu tos atrisināt.
- Tiek
plānots, ka tālākajā sacensību kārtā Minskā LU pārstāvēs 4 komandas
(iespējams 5 komandas).
ACM ir viena no visvecākajām un prestižākajām sabiedriskajām
organizācijām, kas saistītas ar IT jomu (http://www.acm.org/).
Šogad jau 36.reizi tiek rīkotas starptautiskās studentu komandu programmēšanas
sacensības ACM ICPC (http://cm.baylor.edu/welcome.icpc).
Ar katru gadu sacensības paliek arvien populārākas (http://cm.baylor.edu/ICPCWiki/attach/staticResources/Factsheet.pdf).
Sacensības notiek vairākos etapos. Uz Latvijas Universitāti
ir attiecināma sekojoša shēma:
- Atlases
sacensības universitātes mērogā. Komandu izveide var notikt arī bez
oficiālām sacensībām
- Labākās
komandas piedalās apakšreģiona sacensībās (1/4
fināls). Šogad tās notiek 18.-20.oktobrī,
Minskā (Baltkrievija) (http://www.fpmi.bsu.by/ru/?guid=12244#doc
informācija šim gadam varētu būt vēl
atjaunināta!). Latvijas Universitāte šogad drīkst piedalīties ar 4 komandām (iespējams pat 5 komandām).
- Apakšreģiona labākās komandas tiek uz reģionālajām
sacensībām (1/2 fināls). Šogad tās notiek Santpēterburgā
(Krievija) (http://neerc.ifmo.ru/information/index.html
informācija šim gadam varētu būt vēl
neatjaunināta!). Visticamāk sacensības notiks novembra vidū.
- Reģiona
labākās komandas tiek uz fināla sacensībām, kas notiks Varšavā (Polija)
14.-18.maijā.
Īsa idejas būtība:
Sacensības notiek starp studentu komandām 3 cilvēku sastāvā.
Tiek iedots 1 dators, 6-12 problēmas (programmējami uzdevumi) un parasti 5
stundas laika, lai risinātu šīs problēmas. Uzdevumu risinājumi (programmas C,
C++, Pascal vai Java valodā) tiešsaistes režīmā tiek
iesūtīti vērtēšanas serverī. Pēc brīža tiek dota atbilde - programma ir pareiza
vai nē (neefektīvs algoritms arī skaitās kā kļūda).
Uzvar komanda, kas atrisina visvairāk uzdevumus. Ja ir
vienāds atrisināto uzdevumu skaits, tad skatās patērēto laiku. Katram
ieskaitītajam uzdevumam laiku mēra no sacensību sākuma līdz pareizā risinājuma
iesniegšanas brīdim. Pēc kļūdaina risinājuma neierobežotā skaitā drīkst sūtīt
jaunus risinājumus, bet tiek fiksēts soda laiks 20 min. par katru kļūdaino
risinājumu. Soda minūtes par konkrēto uzdevumu rezultātam pieskaita tikai tad,
ja šis uzdevums beigās tiek ieskaitīts. Neieskaitīto uzdevumu soda minūtes gala
rezultātu neiespaido.
Tuvāku informāciju par vispārējiem noteikumiem var gūt http://icpc.baylor.edu/icpc/info/default.htm
(iepriekšējais gads!).
Sacensību noteikumi:
Sacensības pēc iespējas pieturēsies pie NERC noteikumiem.
Neskaidros jautājumus precizē un gala lēmumu pieņem sacensību
žūrija ar balsu vairākumu:
- Juris
Borzovs
- Guntis
Arnicāns
- Rihards
Opmanis
Komandu atlase uz nākošo kārtu, kurā LU drīkst piedalīties
ar 4 komandām (iespējams 5 komandām), notiek sekojošā veidā:
- Komanda
pretendē uz braukšanu tikai tad, ja tajā ir kaut viens students, kuram ir
tiesības piedalīties ACM ICPC tālākajās kārtās (piezīme: daļa no šī gada
sacensību dalībniekiem vairs nav tiesīgi startēt tālākajās kārtās, jo
nedrīkst piedalīties ACM ICPC vairāk kā 5 sezonas un jābūt dzimušam pēc
01.01.1988 vai sāktām mācībām augstskolā pēc 01.01.2007)
- Trīs
labākās komandas uz nākošo kārtu tiek automātiski. Ja kāda no komandām
atsakās braukt uz Minsku, tad šīs tiesības iegūst nākošā labākā komanda.
Komandai ir tiesības mainīt sastāvu pēc saviem ieskatiem, t.i. kādus savus
dalībniekus aizstāt ar dalībniekiem no pārējām komandām vai studentiem,
kas nav pat piedalījušies atlases sacensībās. Taču jaunajā sastāvā
jāpaliek vismaz vienam studentam, kas bija sākotnējā komandā.
- Ceturto
(un iespējams piekto) komandu dalībai nosaka sacensību žūrija. Komanda
tiek nokomplektēta, ņemot vērā šo sacensību rezultātus, iepriekšējos
dalībnieku rezultātus citās sacensībās, aktivitāti ACM sacensību
organizēšanā, dalībnieku psiholoģisko saderību. Komandas komplektācijai
var tikt izmantoti arī LU studenti, kas nav piedalījušies LU studentu
komandu sacensībās. Komandas noteikšana notiek sarunu rezultātā starp
žūriju un potenciālajiem sacensību dalībniekiem. Kā pirmais kandidāts tiks
apskatīta ceturtā labākā komanda, kas atbilst 1.atlases punktam.
Atlases noteikumi ir sarežģīti tāpēc, ka tiek pieļauts
startēt ar nepilnām komandām un visiem LU studentiem bez ierobežojuma.
Programmēšanas vide:
Sacensībās noteikti tiks izmantotas šādas programmēšanas
valodas: C, C++, Pascal, Java.