Als je vlucht de regionale luchthaven begint te naderen waar je op een veel groter vliegtuig zal instappen, worden de douaneformulieren1 aan de passagiers uitgedeeld.

Op het formulier moet je een reeks van 26 ja-of-nee-vragen beantwoorden, die aangeduid worden met de letters a tot en met z. Het enige dat je moet doen, is de vragen identificeren waarop iemand in de groep “ja” geantwoord heeft. Omdat je alleen in je groep bent, duurt dat niet al te lang.

De persoon naast je lijkt echter last te hebben van een taalbarrière en vraagt of je kunt helpen. Voor elke persoon in zijn groep noteer je de letters van de vragen waarop ze met “ja” geantwoord hebben, één persoon per regel. Bijvoorbeeld:

abcx
abcy
abcz

In deze groep zijn er 6 vragen waarop iemand “ja” geantwoord heeft: a, b, c, x, y en z. (Meerdere “ja”-antwoorden op dezelfde vraag tellen niet dubbel; elke vraag telt maximaal één keer mee.)

Een andere groep roept ook je hulp in, daarna nog één, en uiteindelijk heb je de antwoorden verzameld van alle groepen op het vliegtuig. De antwoorden van elke groep worden van elkaar gescheiden door een lege regel, en binnen elke groep staan de antwoorden van elke persoon op een afzonderlijke regel. Bijvoorbeeld:

abc

a
b
c

ab
ac

a
a
a
a

b

Deze lijst bevat de antwoorden van vijf groepen:

In dit voorbeeld is de som van al deze tellingen gelijk aan 3 + 3 + 3 + 1 + 1 = 11.

Opgave

Tel voor elke groep op hoeveel vragen iemand “ja” geantwoord heeft. Wat is de som van al deze tellingen? Bepaal dit op de volgende manier:

Voorbeeld

In deze interactieve sessie gaan we ervan uit dat het tekstbestand forms.txt2 zich in de huidige directory bevindt.

>>> group_count('abc')
3
>>> group_count('a b c')
3
>>> group_count('ab ac')
3
>>> group_count('a a a a')
1
>>> group_count('b')
1

>>> plane_count('forms.txt')
11

Epiloog

Niets aan te geven? Ik herhaal: niets aan te geven?