Lahtise programmeerimisvõistluse võistlusjuhend
Võistluse korraldus
- Lahtine võistlus toimub aadressil lv.eio.ut.ee asuva testimisserveri vahendusel. Seal saavad võistlejad võistlusele registreeruda, samast saavad nad ülesannete tekstid, sisendi ja väljundi näited ja muud abifailid ning samasse esitavad oma lahendused hindamiseks.
- Registreerumine avatakse 3. novembril. Soovitame registreeruda aegsasti enne võistluse algust (kõik eelmistel aastatel registreeritud kontod on kustutatud).
- Ülesannete tekstid tehakse võistlejatele kättesaadavaks 10. novembril kell 10:00. Lahenduste vastuvõtt suletakse 16. novembril kell 24:00.
- Võistlejad võivad serveri vahendusel esitada täpsustavaid küsimusi ülesannete tingimuste kohta. Korraldajad võivad keelduda vastamast küsimustele, mille vastus on ülesande tekstis või mis ei ole ülesande lahendamise seisukohalt olulised.
- Hindamisel saab võistleja preemiat 10% ülesande väärtusest, kui tema lahendus läbib kõik testid ja ei teeni ühtegi trahvi. See preemia lisatakse protokolli väljaspool testimissüsteemi.
Nõuded programmidele
- Iga ülesande lahendus peab olema tervenisti ühes failis. Lisaks selles failis olevale tekstile võib kasutada ainult programmikeele standardvahendeid.
- Mitte kasutada programmi tekstis “täpitähti”. Nende esitus sõltub operatsioonisusteemi seadetest, mis võivad serveris olla erinevad võistlejate tööarvutite omadest. See võib põhjustada vigu lahenduste hindamisel.
- Java programmis peab
main
meetodit sisaldav klass olema ülesande lühinimega (näiteks kui ülesande nimi on "Sortimine (sort)", siis peab klassi nimi olemasort
, samamoodi väiketähtedega). Lisaks ei tohi kasutada võtmesõnapackage
. Vastasel korral ei võta testimissüsteem lahendust vastu. - Pythonis kirjutatud lahendusi testitakse vastavalt nende failinimedele:
*.py
— Python 2.x,*.py3
— Python 3.x.
- Programm peab lugema sisendandmed ülesande tekstis näidatud nimega failist ja kirjutama tulemuse ülesande tekstis näidatud nimega faili.
- Testimissüsteemis pole lahendustel sisendfaili ülekirjutamise õigust.
- Mitte kasutada failinime juures ketta- ja kataloogitähiseid.
- Mitte kasutada näitefailide nimesid!
- Programm ei pea kontrollima sisendandmete vastavust ülesande tekstis antud tingimustele; testimiseks kasutatakse ainult korrektseid algandmeid.
- Sisendfaili kõik read (ka viimane) lõpevad reavahetusega.
- Programm peab väljastama tulemuse täpselt ülesande tekstis kirjeldatud kujul.
- Programm ei tohi testimise ajal nõuda mitte mingit sisestust klaviatuurilt.
- Hinnatakse ainult programmi töö tulemust, mitte programmi teksti, kui ülesande tingimustes pole öeldud teisiti.
- Programm peab lõpetama oma töö ettenähtud aja jooksul. Kui ülesande tekstis on antud kaks ajalimiiti, kehtib esimene kompileeritavates keeltes (Pascal, C, C++, Java, ...) ja teine interpreteeritavates keeltes (Python, PHP, Perl, ...) lahendustele. Kui tekstis on antud üks ajalimiit, kehtib see kõigile lahendustele. Lahendusi testitakse keskkonnas, mis vastab 1,5 GHz Pentium IV protsessori jõudlusele.
- Programmil on lubatud kasutada kuni 256 MB mälu.
Lehekülg viimati muudetud November 09, 2014, at 11:01 PM