Dit is de gearchiveerde website van de CodeCup NIO 2011. Klik hier om naar de huidige website te gaan. |
Technische regelsDeze regels beschrijvn hoe je je programma moet schrijven. Aangezien de competitie automatisch wordt gehouden door computerprogramma's moet je programma exact werken volgens deze regels. Je programma insturenOm mee te doen aan de competitie, moet je een programma schrijven dat het spel Invers kan spelen. Je kan de broncode van je programma via deze website opsturen. De broncode van het programma mag maar uit een bestand bestaan, daarnaast mag hij ook niet groter zijn dan 1.474.560 bytes (de grootte van een floppy, oftewel ongeveer 1.4MB). Je programma wordt gecompileerd en uitgevoerd onder Linux. De compilatie van je programma mag niet langer duren dan 5 minuten (dat zou ruim genoeg moeten zijn, normale programma's compileren in minder dan 2 seconden). Invoer en UitvoerJe programma moet invoer uitlezen van de standard input (normaal het toetsenbord) en uitvoer schrijven naar standard output (normaal het beeldscherm). Je programma wordt een keer opgestart aan het begin van het spel en blijft draaien tot het einde van het spel. Je moet je precies houden aan het protocol zoals dat is gegeven in de regels van het spel. Elke zet staat op een regel. Je mag er van uitgaan dat alle invoer die aan je programma wordt voorgeled correct is. Om fouten in je programma op te sporen mag je programma berichten wegschrijven naar de standard error. Deze berichten worden alleen aan jou bekend gemaakt ProgrammeertalenJe mag je programma schrijven in Pascal, C, C++, Java, Python, Haskell of Javascript. De tabel toont welke compiler en configuratie wij gebruiken.
Pascal
Je kunt Het gebruik van units wordt afgeraden. Ze zullen je niet erg veel helpen en kunnen er voor zorgen dat je programma fouten oplevert tijdens de competitie. Het is niet mogelijk units te gebruiken die je zelf hebt geschreven, aangezien je broncode maar uit een bestand mag bestaan. Gebruik in ieder geval niet de CRT unit, want die zorgt voor erg veel fouten tijdens de competitie.
C en C++
Je kunt
In C++ is het ook mogelijk om
Java
Je kunt het object
Het is mogelijk meerdere classes te gebruiken in je programma, maar je moet ze wel in een bestand zetten. Als je dit doet, maak je classes dan niet Als je een Java-programma opstuurt, vergeet dan niet als naam de naam van je class die main bevat in te voeren.
Python
Je kunt
Je kunt de standaar Python modules(
Javascript var input=readline() gebruiken om te lezen van de standard input en print('output') om te schrijven naar de standard output.
Helaas is er geen manier om naar de standard error te schrijven met Javascript.
Let erop dat scripts geschreven in Javascript langzamer zijn dan programma's in C, Pascal of Java.
Over de competitiecomputer
Je programma mag maximaal 5 seconds per spel gebruiken. We meten alleen de tijd die je programma gebruikt om een zet te selecteren, zonder de tijd die je tegenspeler nodig heeft. Als je programma de tijdslimiet overschrijdt, verliest hij het spel.
Er is geen tijdlimiet per zet, alleen een tijdlimiet per spel. Dus je programma mag 4 seconden gebruiken voor de eerste zet, maar dan heeft hij nog maar 1 seconden over voor de rest van het spel.
Om de competitie eerlijk te houden, mogen een aantal dingen niet:
VoorbeeldspelersOm je opweg te helpen met je eigen speler heeft het team van de CodeCup een voorbeeldspeler gemaakt in een paar van de meest gebruikte talen. Deze bevatten alle code voor de in en uitvoer, maar jij moet de code schrijven die daadwerkelijk het spel speelt.
|