De Elfstedentocht is een bijna 200 kilometer lange schaatstocht over natuurijs langs de elf steden in Friesland (Nederland) die ooit stadsrechten verkregen hebben. De eerste officiële tocht werd in 1909 gereden. Omdat er alleen maar een tocht kan georganiseerd worden als de toestand van het ijs het toelaat, is de tocht tot nu toe slechts vijftien keer verreden. De meest recente editie vond plaats in 1997. Vanwege de afstand en het heroïsch karakter wordt de Elfstedentocht ook wel "De Tocht der Tochten" genoemd.

Bartlehiem
Schaatsers (van links naar rechts: Hans Bouma, Jan Kooiman, Rein Jonker en Nanne Semplonius) passeren op 26 februari 1986 de brug bij Bartlehiem onder aanmoediging van het publiek.

Naast de elf historische steden die altijd langs het parcours liggen, kan de route bij elke editie andere dorpen aandoen. Leeuwarden — de hoofdstad van Friesland — is vanouds de start- en aankomstplaats. De eerste vier tochten (1909–1933) en de zevende tocht (1941) werden tegen de klok in afgelegd. De overige tochten werden met de klok mee gereden en bezochten de elf steden in deze volgorde:

stad Friese naam afstand vanaf startpunt (km)
Leeuwarden (start) Ljouwert 0
Sneek Snits 22
IJlst Drylts 26
Sloten Sleat 40
Stavoren Starum 66
Hindeloopen Hylpen 77
Workum Warkum 86
Bolsward Boalsert 99
Harlingen Harns 116
Franeker Frjentsjer 129
Dokkum Dokkum 174
Leeuwarden (finish) Ljouwert 199

Bij inschrijving krijgt elke deelnemer een stempelkaart. In elk van de elf steden staan controleposten waar de schaatsers hun stempelkaarten moeten tonen en met de hand laten afstempelen. Daarnaast zijn er ook nog drie geheime controleposten om te voorkomen dat deelnemers een deel van het traject per auto afleggen. Daar wordt met een speciale tang op een vaste plaats een gaatje in de kaart geknipt.

stempelkaart
Volle stempelkaart van de Elfstedentocht in 1956.
elfstedenkruisje
Schaatsers die een officiële Elfstedentocht voltooien binnen de door de Koninklijke Vereniging De Friesche Elf Steden gestelde voorwaarden krijgen een Elfstedenkruisje uitgereikt. Zo moet een deelnemer lid zijn van de Vereniging de Friesche Elf Steden, een startbewijs hebben ontvangen voor de tocht, moet een toerschaatser voor middernacht binnen zijn en moet een wedstrijdschaatser binnen 120% van de tijd van de winnaar van de Elfstedentocht binnen zijn, en moet een volle stempelkaart worden ingeleverd.

Alle deelnemers die voor middernacht over de finish op de Bonkevaart in Leeuwarden schaatsen, ontvangen het felbegeerde Elfstedenkruisje na controle dat hun stempelkaart alle vereiste stempels en gaatjes heeft. Bij de Elfstedentocht in 1997 ontstond er commotie toen de wedstrijdschaatser Piet Kleine geen Elfstedenkruisje kreeg. De oud-wereldkampioen allround schaatsen — die zich in de kopgroep bevond — miste bij Hindeloopen een slecht aangegeven verborgen stempelpost, hoewel televisiebeelden aangaven dat hij de post wel degelijke gepasseerd was.

Opgave

Ondanks het zeer traditionele karakter van de Elfstedentocht heeft de Koninklijke Vereniging De Friesche Elf Steden1 — die de tocht organiseert — besloten dat er bij de volgende editie een modernisering zal doorgevoerd worden. Bij de finish zullen stempelkaarten automatisch gecontroleerd worden, zodat schaatsers na hun helletocht niet meer zo lang moeten wachten op hun Elfstedenkruisje als dat in het verleden wel het geval was. Daarom hebben ze jou gevraagd om een programma te schrijven dat deze controle kan uitvoeren: er mag enkel een kruisje uitgedeeld worden als de stempelkaart exact elf stempels en drie gaatjes heeft.

Invoer

Een ingeleverde stempelkaart van de Elfstedentocht die bestaat uit een reeks van één of meer stempels met namen van steden — elk op een afzonderlijke regel — afgesloten door een regel met finish. Tussen de letters van de namen van sommige steden kunnen één of meer gaatjes (🔘) toegevoegd zijn.

Uitvoer

Het rapport na controle van de ingeleverde stempelkaart. Dit rapport bestaat uit drie regels die de volgende informatie bevatten:

  1. het aantal stempels (steden) op de stempelkaart

  2. het aantal gaatjes in de stempelkaart; als er minstens één gaatje is, dan moet het aantal gaatjes gevolgd worden door een spatie en tussen ronde haakjes de namen van de steden waarin minstens één gaatje voorkomt, zonder gaten, in de volgorde van de stempels op de stempelkaart en telkens van elkaar gescheiden door een komma en een spatie

  3. het besluit of er een kruisje mag uitgedeeld worden (ja) of niet (neen); er mag enkel een kruisje uitgedeeld worden als de stempelkaart exact elf stempels en drie gaatjes heeft

Bekijk onderstaande voorbeelden om te zien hoe het rapport moet opgemaakt worden.

Tip

Om de voorstelling van een gaatje (🔘) op te nemen in je broncode, kan je die voorstelling kopiëren uit deze opgave en daarna plakken in je broncode.

Voorbeeld

Invoer:

Leeuwarden
Sneek
IJlst
Slo🔘ten
Stavoren
Hindelo🔘o🔘pen
Workum
Bolsward
Harlingen
Franeker
Dokkum
finish

Uitvoer:

# stempels: 11
# gaatjes: 3 (Sloten, Hindeloopen)
verdient kruisje: ja

Voorbeeld

Invoer:

Ljouwert
Snits
Dry🔘lts
Sleat
Hyl🔘pen
Boal🔘sert
Harns
Frjent🔘sjer
Dokkum
finish

Uitvoer:

# stempels: 9
# gaatjes: 4 (Drylts, Hylpen, Boalsert, Frjentsjer)
verdient kruisje: neen