Juryrapport eerste ronde
Nederlandse Informatica Olympiade 1999.
130 leerlingen hebben één of meer opgaven van de eerste ronde gemaakt. Een deel van hen deed uitsluitend mee voor de snelle inzendersprijs voor opgave 1 of de CvO-Windesheimprijs voor de laatste opgave. In totaal haalden 72 leerlingen meer dan 150 punten; zij plaatsten zich voor deelname aan de tweede ronde. De hoogste score werd gehaald door Vincent Groenhuis uit Enschede; met 394 punten haalde hij de hoogste score uit de geschiedenis van de eerste ronde.
In dit rapport treft u aan enkele wetenswaardigheden over de opgaven en de deelnemers.
Gebruikte programmeertalen:
Pascal 55
Basic 39
C 32
JAVA 2
Delphi 1
Scholen met meer dan drie deelnemers:
Dalton Scholengemeenschap Den Haag 6 deelnemers
De Waerdenborch Holten 6 deelnemers
Stedelijk College Eindhoven 5 deelnemers
Philips van Horne s.g. Weert 4 deelnemers
Reynaertcollege Hulst 4 deelnemers
Gymnasium Beekvliet, Sint Michielsgestel 4 deelnemers
Verdeling naar geslacht
Geplaatst |
Totaal |
|
Meisjes |
4 |
9 |
Jongens |
68 |
121 |
Jongste deelnemers.
Drie deelnemers waren 13 jaar oud bij het sluiten van de inzendtermijn. De jongste deelnemer is Jelmer Vernooij uit Houten, leerling van het Christelijk Gymnasium in Utrecht; de andere twee zijn Timothy Voskuyl en Manuel Gutierrez Rojas van de Dalton Scholengemeenschap in Den Haag.
De snelle inzendersprijs.
Eind december is al geloot welke zes deelnemers in aanmerking komen voor de snelle inzendersprijs. Dat zijn Jaap Bak, Herbert Beltman, Brenda Rademakers, Merijn Reijnders, Daniël Vrielink en Annick Weijzig. Bij de prijsuitreiking in juni wordt deze prijs onder hen verloot.
De CvO-Windesheimprijs.
Op zaterdag 23 januari is het toernooi gespeeld om de CvO-Windesheimprijs. 51 leerlingen of groepjes van leerlingen namen daaraan deel. Winnaar is geworden Mathijs Vogelzang uit Groningen.
Een verslag van deze opgave en het bijbehorende toernooi treft u aan bij opgave 4.
Opgave 1. Stenen leggen in een trapezium.
128 deelnemers hadden een inzending voor deze opgave; 120 binnen de tijdlimiet voor snelle inzenders. Deelnemers hadden met allerlei problemen te kampen: De invoer en weergave van zeer grote getallen, de snelheid van het gebruikte algoritme en het tonen van alle gevonden oplossingen.
Eén van de gebruikte testgevallen (360360000 stenen, met een verschil van 111) leverde 69 mogelijke antwoorden op. Als die niet allemaal gecontroleerd konden worden kreeg je 5 punten aftrek.
De aantallen stenen op de verschillende rijen in een trapezium vormen een rekenkundige rij. Als er op de eerste rij a stenen liggen en het verschil in lengte tussen opvolgende rijen is v stenen, dan is de som van n rijen gelijk aan na+˝(n-1)v. Je weet waar dat getal aan gelijk moet zijn, je kent v. Je kunt nu voor iedere a kijken of je een gehele n krijgt, of voor iedere n of je een gehele a krijgt. Dat laatste gaat uiteraard veel sneller.
Aantal deelnemers met punten: 126
Gemiddelde score: 83,65 (van de 130 deelnemers)
Beste scores:
Peter Bindels, Stefan de Bruijn, Giliam de Carpentier, Berteun Damman, Jurgen van Dijk, Egbert van der Es, Albert-Jan de Graaf, Martin Kamerbeek, Stefan de Koning, Timo Laman, Martijn Plass, Eric de Ruiter, Daan van der Sanden, Paul Teeninga, Jan Tuitman, Lourens Veen en Rene Willemink.
Plaats |
1 |
10 |
25 |
50 |
100 |
Score |
100 |
100 |
95 |
95 |
75 |
Opgave 2. Klopt dat woord?
Deze opgave was voor veel deelnemers goed te doen. Obstakels zaten in het inlezen en verwerken van het tekstbestand, in het goed en consequent behandelen van de woorden die niet uniek en niet te maken waren en in het omgaan met het puzzelwoord zelf. Soms werd dat met het aantal woorden in het bestand meegeteld (was niet de bedoeling!), in een enkele test kwam het puzzelwoord voor in de testinvoer. En jawel, uit de lettters van het woord "appelboom" kun je best het woord "appelboom" maken. Grootste valkuil was het vaker gebruiken van letters uit het puzzelwoord; uit "appelboom" kun je geen "aap" maken, want je hebt maar 1 "a" tot je beschikking.
Aantal deelnemers met punten: 89
Gemiddelde score: 49,15 (van de 130 deelnemers)
Beste scores:
Pim Altena, Jaap Bak, Jan Willem Beusink, Matthijs Bomhoff, Stefan de Bruijn, Edwin de Caluwé, Marianne Eijkemans, Marijn van Gaalen, Ted de Gouw, Vincent Groenhuis, Nolan Hartkamp, Benjamin Hoolwerf, Maurice Kasteleijn, Bart Kneepkens, Eelco Kodde, Jan Kuipers, Bas Meerman, Rene Mulder, Richard Peters, Merijn Reijnders, Johan de Ruiter, Daan van der Sanden, Saskia Scheffers, Frans Stappers, Jaap Taal, Paul Teeninga, Dennis Verheijen, Maks Verver, Robbert van Vooren, Timothy Voskuyl, Joan ter Weele en Remco Wulms.
Plaats |
1 |
10 |
25 |
50 |
100 |
Score |
100 |
100 |
100 |
90 |
0 |
Opgave 3. Regio’s indelen.
Dit was een hele lastige opgave. Slechts 43 deelnemers haalden punten voor de opgave, maar twee het volledige aantal.
Twee observaties vooraf bij het probleem. Er zijn gemeenten met maar één grens mogelijk. Als die zelf geen 100000 inwoners hebben, zullen ze dus een regio moeten vormen met in ieder geval de ene buurgemeente. Zo kun je in de praktijk het aantal te onderzoeken regio’s al wat terugdringen. Verder kun je door het inwoneraantal van een grote gemeente op 100000 te stellen en alle zo verkregen inwoneraantallen bij elkaar op te tellen een bovengrens vinden voor het aantal regio’s. ZO heb je al vast een idee wanneer je kunt stoppen.
Verder is het natuurlijk een kwestie van nauwgezet alle clusters van gemeenten vormen die samen net minstens 100000 inwoners hebben, en de nog niet ingedeelde gemeenten daaraan toe te voegen.
Aantal deelnemers met punten: 43
Gemiddelde score: 18,02 (over 130 deelnemers)
Vincent Groenhuis en
Maurice Kasteleijn 100
Rene Willemink en
Jaap Bak 90
Pim Altena en
Merijn Reijnders 86
Kees-Jochem Wehrmeijer 84
Matthijs Bomhoff en
Jan Kuipers 81
Peter Bruin 80
Stefan van Zwam 74
Joan ter Weele 69
Berteun Damman en
Lourens Veen en
Johan de Ruiter 68
Stefan de Koning 66
Plaats |
1 |
10 |
25 |
50 |
100 |
Score |
100 |
80 |
50 |
0 |
0 |
Hieronder een kaart van testgeval nummer drie. Inwoneraantallen in duizenden aangegeven.
Onmiddellijk blijkt dat de gemeenten 5 en 6 samen met 4 moeten; dat 8 bij 7 moet; dat 13 bij 12 moet, en dat 9, 14, 15 en 16 allemaal bij 10 moeten. Dan heb je nog vijf gemeenten over, die je over de al gevormde regio’s kunt verdelen.
Leuke vervolgopgave: Als twee gemeenten maar één grens kunnen hebben, wat is dan het maximale aantal grenzen in een gebied met twintig gemeenten? Kun je zo’n gebied tekenen? We hebben een oplossing met 54 grenzen beschikbaar (zie hieronder).
Opgave 4. PAS
Deze opgave had ook de nodige haken en ogen. Veel deelnemers raakten in de problemen als hun tegenstander al eens gepast had, omdat alle vervolgzetten van hen zelf afkomstig waren. Dan werden er zetten gedaan die niet konden, met bijvoorbeeld stenen die al gebruikt waren.
Deelnemers die een serieus spelend programma maakten hadden de keuze uit twee strategiën: Op jacht naar zo veel mogelijk paspunten (de gretige strategie) of op zoek naar een manier om zo veel mogelijk eigen stenen kwijt te raken, en dat de tegenstander te verhinderen.
A0A5 |
L0D5 |
I3A3 |
J0F3 |
K0C4 |
N0B3 |
D0E1 |
C1A1 |
M2F2 |
E3F1 |
G3C5 |
B1E4 |
A0B5 |
C2E5 |
B0F5 |
G1B4 |
J2D4 |
K2C3 |
F3D3 |
H3B2 |
D0C1 |
PAS |
Voorbeeld van een verslag van een wedstrijd tussen deze beide strategiën. Bruin bouwt een stelling op met positiespel, waarmee hij vooral het aantal mogelijke zetten van wit probeert te verkleinen en van hemzelf probeert te vergroten. Wit legt zoveel mogelijk aan, zodat hij zoveel mogelijk paspunten krijgt.
Sluwe deelnemers hadden ontdekt dat een programma dat als enige uitvoer het woord "PAS" gaf volgens de regels in aanmerking kwam voor 60 van de 100 punten. Onderaan de ranglijst van het toernooi zie je een aantal van deze puntenverzamelaars.
Enkele programma’s behoefden kleine ingrepen door de jury voordat ze tot het toernooi konden worden toegelaten. Twee programma’s haalden het toernooi niet. Het ene wachtte op een toets voor er een zet werd gedaan; het andere zorgde in een teststelling voor een onverklaarbare crash, die ook na een wijziging door de schrijver niet voorkomen kon worden. Deze programma’s zijn apart beoordeeld.
Eén deelnemer ontdekte de fout in zijn eigen programma om elf uur zaterdagsochtend, tijdens het toernooi. Ook dat programma werd apart opnieuw bekeken.
Aantal deelnemers met punten: 64
Gemiddelde score: 29,49 (over 130 deelnemers)
Mathijs Vogelzang 100
Vincent Groenhuis 99
Pim Altena en
Merijn Reijnders 98
Herbert Beltman 96
Stefan de Koning 95
Jasper de Koning 94
Wilmer van der Geest 93
Lucas Breedveld en
Hokwan Kan 92
Maurice Kasteleijn en
Johan de Ruiter 90
Gijs Kant 89
Stefan de Bruijn,
Eelco Kodde,
Marijn van Gaalen en
Kees-Jochem Wehrmeijer 88
Plaats |
1 |
10 |
25 |
50 |
100 |
Score |
100 |
92 |
84 |
30 |
0 |
CvO-Windesheimtoernooi 1999 PAS.
De totaalstand na zitting 50.
1. Mathijs Vogelzang 102 1938
2. Vincent Groenhuis 102 1906
3. Pim en Merijn 102 1834
4. Jurgen van Dijk 102 1817 5
5. Herbert Beltman 102 1775
6. Stefan de Koning 102 1706
7. Jasper de Koning 102 1671
8. Wilmer van der Gaast 102 1502
9. Lucas en Hokwan 102 1443
10. Richard Peters 102 1423 16 2
11. Matthijs en Jan 102 1376 85
12. Maurice Kasteleijn 102 1365
13. Johan de Ruiter 102 1341
14. Egbert van der Es 102 1333 8
15. Onno Molenkamp 102 1315 1
16. Gijs Kant 102 1248
17. Marijn van Gaalen 102 1219
18. Kees Jochem Wehrmeijer 102 1189
19. Eelco Kodde 102 1188
20. Stefan de Bruijn 102 1182
21. Joan ter Weele 102 1176 1
22. Toevallig 102 1171
23. Jaap Bak 102 1166
24. Martijn Vogel 102 1151
25. Johan Bos 102 1150
26. Maurice Termeer 102 1149
27. Rick van Bijnen 102 1113 3 8
28. Peter en Albert Jan 102 1105
29. Martin Kamerbeek 102 1095 69 2
30. Stefan van Zwam 102 1073 23
31. Timo Laman 102 1067
32. Eric de Ruiter 102 1048 17 4
33. Tijmen en Jelger 102 1043 50
34. Peter Bruin 102 1039 16 2
35. Sebastiaan Janssens 102 963 29 8
36. Berteun en Lourens 102 899 34 17
37. Remco,Dennis,Bart,Frank 102 679 71
38. Jelmer Barhorst 102 516 46 51
39. Elsmarieke vd Giessen 102 387 60 42
40. Danny Oude Bos 102 379 102
41. Jaap Taal 102 374 102
42. Nolan en Rene 102 374 102
43. Laurens Blankers 102 343 102
44. Ted de Gouw 102 343 3 99
45. Frank van Leeuwen 102 339 94 8
46. Wietse van Dijk 102 306 30 72
47. Jan Tuitman 102 306 102
48. Popke Altenburg 102 303 102
49. Rense, Taco en Robert 102 303 102
50. Jan Willem Beusink 102 303 102
51. Ingvar Geurts 102 303 102
52. Gerard Goossen 102 303 102
Achtereenvolgens staan weergegeven plaats, naam, aantal gespeeld, totaal aantal wedstrijdpunten, partijen die onreglementair werden beeindigd, partijen waarin te vroeg werd gepast.
Joris van Rantwijk, oud-deelnemer aan de Nederlandse en de Internationale Informatica Olympiade, schreef een Java applet, waarmee de PAS wedstrijden nagespeeld kunnen worden. Per gespeelde partij heeft hij een HTML file gemaakt met daarop het applet (met de juiste parameters voor die partij).
Er is een index per zitting, of per deelnemer.
Dit alles is bereikbaar onder de volgende URL:
http://deadlock.et.tudelft.nl/nio/cvo/
Ook bij twee oudere NIO-spelletjes schreef hij JAVA-applets. De applets voor Hexxagon en Tower Colours zijn te vinden op:
http://deadlock.et.tudelft.nl/nio/Hier een schermbeeld van zijn wedstrijdverslagen.
Totaaluitslag.
Aantal deelnemers met punten: 128
Gemiddelde score: 180,31 (over 130 deelnemers)
De beste scores:
Vincent Groenhuis 394
Maurice Kasteleijn 385
Pim Altena en
Merijn Reijnders 379
Jaap Bak 371
Johan de Ruiter 343
Joan ter Weele 331
Stefan van Zwam 320
Peter Bindels en
Albert-Jan de Graaf 318
Stefan de Bruijn 314
Stefan de Koning 311
Maurice Termeer 308
Richard Peters 297
Matthijs Bomhoff en
Jan Kuipers 296
Ingvar Geurts en
Robert Versluys en
Rense Klinkenberg en
Taco van Sambeek 290