Opgave 1 20007 - 2008

(klik voor opgave 2, opgave 3) Opgave 1.pdf

Plaatsnaamcodes.

In het buitenland zie je vaak dat een nummerbord begint met een code van enkele letters die aangeeft uit welke plaats of regio het voertuig afkomstig is. Op dat idee is deze opgave gebaseerd.

Een plaatsnaamcode kan voor een plaats worden gebruikt als hij aan de volgende voorwaarden voldoet.

De plaatsnaamcode bestaat uit maximaal drie letters.
De eerste letter van de plaatsnaamcode is de eerste letter van de plaatsnaam.
Bij een code van twee letters is de tweede letter van de code de tweede of de laatste letter van de plaatsnaam.
Bij een code van drie letters zijn twee mogelijkheden:
De tweede letter van de code is de tweede letter van de plaatsnaam, de derde letter van de code is een andere letter van de plaatsnaam.
De tweede letter van de code s een willekeurige letter van de plaatsnaam, de derde letter van de code is de laatste letter van de plaatsnaam.

Bij de plaatsnaam ARNHEM zijn de volgende codes toegestaan:

A AR AM ARN ARH
ARE ARM ANM AHM AEM

Schrijf een programma nio1 dat twee tekstbestanden inleest.

Het eerste bestand heet code.in
Op de eerste regel staat een getal C (0 < C < 10000) dat aangeeft hoeveel plaatsnaamcodes in het bestand staan aangegeven.
Op de volgende C regels staat telkens één plaatsnaamcode, een tekst van één, twee of drie hoofdletters, zonder spaties of leestekens.

Het tweede bestand heet plaats.in
Op de eerste regel staat een getal P (0 < P < 10000) dat aangeeft hoeveel plaatsnamen in het bestand staan aangegeven.
Op de volgende P regels staat telkens één plaatsnaam. Dat is een woord van minstens 2 en maximaal 15 hoofdletters, zonder spaties of leestekens erin.

Je programma schrijft een uitvoerbestand aantal.uit van C regels.
Op iedere regel staat een getal dat aangeeft hoeveel plaatsnamen uit de invoer overeenkomen met de plaatsnaamcode van de overeenkomstige regel.


Voorbeeld:

code.in

8

A

RM

GA

AMT

X

AM

ZWE

LEE

 

plaats.in

10

AMSTERDAM

ROTTERDAM

GRONINGEN

LEEUWARDEN

UTRECHT

ZWOLLE

APELDOORN

AMERSFOORT

ARNHEM

GOUDA

 

aantal.uit

Toelichting (niet in het bestand)

4

4 beginletters A

1

Rotterdam

1

Gouda

2

Amsterdam en Amersfoort

0

Geen

3

Amsterdam, Amersfoort en Arnhem

1

Zwolle

1

Leeuwarden

Er zijn tien testgevallen met uiteenlopende moeilijkheidsgraad. Voor elke test kun je maximaal 10 punten verdienen; iedere fout binnen een test geeft één punt aftrek. In zeven van de tien testgevallen blijft het aantal codes beperkt tot maximaal 100. We verwachten dat je programma dergelijke testgevallen binnen 2 seconden kan oplossen. De laatste drie testgevallen zijn omvangrijker; ook hier geldt een tijdlimiet van 2 seconden.


 

home
voorwaarden
inschrijven / submitten
leren programmeren

opgave 1opgave 2opgave 3


geschiedenis NIO
beverwedstrijd
Codecup