algemeen
uitleg
systeem
regels
meedoen
opgaven
de_dag
links

Sponsors

  ABN AMRO

  Philips

  Logica

  CMG
NKP 2001

Uitleg

Nederlands Kampioenschap Programmeren

Het Nederlands Kampioenschap Programmeren is een jaarlijks terugkerende programmeerwedstrijd voor studenten. Hierbij zijn de deelnemers georganiseerd in teams van 3 personen. Er zijn 6 a 8 opgaven, waarin telkens een bepaald probleem beschreven wordt. Ieder team probeert om binnen 5 uur bij elk van de opgaven een werkend programma te schrijven, dat het gestelde probleem oplost. Op de pagina systeem staat welke programmeertalen er gebruikt mogen worden.

Opgaven

De opzet van de opgaven is als volgt: Je programma leest gegevens uit een invoerbestand, bepaalt het juiste antwoord, en schrijft de resultaten als uitvoer. Zodra je denkt dat je programma de opgave correct oplost, kun je het programma via het netwerk naar de jury sturen. Zij testen het programma, en delen mee of het goed of fout is. Een afgekeurd programma kun je daarna nog verbeteren en opnieuw insturen.

De opgaven zijn meestal gebaseerd op bekende klassieke algoritmen, zoals het kortste pad algoritme van Dijkstra, of backtracking. Vaak komen er ook een aantal wiskundige opgaven in voor. Om zoveel mogelijk opgaven op te lossen is het belangrijk dat je goed samenwerkt en het werk verdeelt. Er is maar 1 computer beschikbaar, dus daar moet je zo nuttig mogelijk gebruik van maken. Een beetje programmeerervaring, kennis van algoritmes of een dik boek om moeilijke dingen op te zoeken komen natuurlijk goed van pas. Een aantal voorbeelden, bedoeld om mee te oefenen, staat op de pagina opgaven.

Score

Je hebt 5 uur de tijd om zoveel mogelijk opgaven goed op te lossen. De score wordt bepaald aan de hand van het aantal opgeloste opgaven, dus elke opgave telt even zwaar mee. Natuurlijk is het mogelijk dat teams evenveel opgaven oplossen. In dat geval wordt ook rekening gehouden met de tijd die je hebt gebruikt voor het oplossen van de opgaves. Voor elke goed opgeloste opgave telt de tijd van het begin van de wedstrijd tot het insturen van de correcte oplossing. Bovendien wordt er 20 minuten bijgeteld voor elke keer dat je de opgave fout hebt ingestuurd. Hoe lager je totale tijd, hoe beter je score.

Beoordeling

Het beoordelen van de ingestuurde oplossing is een taak van de jury. Deze heeft daarvoor beschikking over een jury-programma dat speciaal aan de TU Delft is ontwikkeld. De jury kan, zowel voor als tijdens de wedtsrijd, extra mededelingen doen en vragen beantwoorden.

De programma's worden uitsluitend beoordeeld op hun werking. Je mag dus zo ranzig programmeren als je wilt ! Per team is er 1 computer beschikbaar voor het implementeren en testen van de programma's. Verder mag je zelf zoveel boeken en aantekeningen meenemen als je kan dragen, maar diskettes, rekenmachines, laptops enzo zijn niet toegestaan.

Deelname

De inschrijvingen voor het NKP verlopen via je eigen studievereniging. Zij zullen t.z.t. door ons worden benaderd. Per universiteit of hogeschool mag slechts een beperkt aantal teams deelnemen. Het is daarom mogelijk dat je eigen studievereniging zelf nog een lokale voorronde organiseert om de teams te selecteren die mogen deelnemen aan het NKP.

Internationale programmeerwedstrijden

Naast het NKP bestaan er ook programmeerwedstrijden op internationaal niveau. Deze worden georganiseerd door de ACM (Association for Computing Machinery). Eerst zijn er de "regionale" wedstrijden (Nederland valt onder de regio Noord-West Europa). De teams die daar het beste eindigen mogen mee doen aan de World Finals, die meestal in de USA plaatsvinden. Net als bij het NKP mogen ook aan het Europees Kampioenschap Programmeren een beperkt aantal teams per universiteit meedoen. De uitslag van het NKP zou gebruikt kunnen worden om te bepalen welke teams mogen deelnemen aan het EKP, maar dit is niet verplicht.





Leer afzien in Delft