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