Doodle1 is een online toepassing voor het inplannen van activiteiten (vergaderingen, feestjes, …) waaraan verschillende personen moeten deelnemen. Aan de deelnemers wordt gevraagd om op een kalender aan te geven wanneer ze vrij zijn, zodat de coördinator van de activiteit de datum en het uur kan vastleggen waarop iedereen zich kan vrijmaken.
Een tekstbestand bevat de informatie van een doodle waarop $$m$$ personen hun beschikbaarheid hebben opgegeven voor $$n$$ opeenvolgende dagen. Het bestand bevat $$m$$ regels, waarbij elke regel de beschikbaarheid van één persoon aangeeft. Elke regel bevat $$n$$ letters die aangeven of de persoon op elk van de $$n$$ opeenvolgende dagen beschikbaar is (letter V) of niet (letter X). De doodle die hierboven grafisch wordt weergegeven, wordt als volgt opgeslagen in een tekstbestand:
VVVXVVXXXXXXVV
XVVXVVXXXXXXVV
VVXXVVXXXXXXVV
Schrijf een functie activiteit waarmee op basis van een ingevulde doodle een activiteit kan ingepland worden. De locatie van een tekstbestand dat de informatie van de doodle bevat, moet als eerste argument aan de functie doorgegeven worden. De functie heeft ook nog een tweede optionele parameter dagen, die aangeeft over hoeveel opeenvolgende dagen de activiteit loopt. Indien geen expliciete waarde wordt doorgegeven voor deze parameter, dan wordt een activiteit van één dag verondersteld.
Op basis van de gegeven informatie moet de functie op zoek gaan naar de eerste periode (bestaande uit het opgegeven aantal opeenvolgende dagen) waarbinnen alle deelnemers aan de activiteit zich vrij kunnen maken. Indien een dergelijk periode gevonden wordt, dan moet de functie de index van de eerste dag van die periode teruggeven (de kolommen van de doodle corresponderen met opeenvolgende dagen, en deze worden geïndexeerd vanaf 1). Indien geen geschikte periode gevonden wordt, dan moet de functie de waarde -1 teruggeven.
Bij onderstaande voorbeeldsessie gaan we ervan uit dat de tekstbestanden doodle1.txt2 en doodle2.txt3 zich in de huidige directory bevinden.
>>> activiteit('doodle1.txt')
2
>>> activiteit('doodle1.txt', 2)
5
>>> activiteit('doodle2.txt', 3)
-1