Anderzijds is het misschien niet onverstandig om ook eens andere strategie te proberen: laat de reuzeninktvis winnen.
Je weet niet zeker hoeveel bingo-borden een reuzeninktvis tegelijkertijd kan spelen, dus in plaats van tijd te verliezen met het tellen van zijn armen, kun je beter bepalen welk bord als laatste zal winnen en dat bord kiezen. Op die manier zal de reuzeninktvis zeker winnen, ongeacht welk bord hij kiest.
In het voorbeeld is het tweede bord het laatste dat wint. Dit gebeurt nadat het getal 13
getrokken werd en de middelste kolom volledig gemarkeerd is. Als je tot dat moment zou blijven spelen, dan zou het tweede bord een som van ongemarkeerde getallen hebben die gelijk is aan 148
voor een eindscore van \(148 \times 13 = 1924\).
Zoek uit welk bord als laatste zal winnen. Als dat bord wint, wat is dan de eindscore? Bepaal dit op de volgende manier:
score
waaraan de padnaam (String
) moet doorgegeven worden van een tekstbestand dat een willekeurige volgorde waarin getallen getrokken worden, en een willekeurige set borden bevat. De functie moet de eindscore (Int
) teruggeven van het bord dat als laatste zal winnen.In this interactive session we assume the text files boards01.txt
1 and boards02.txt
2 to be located in the current directory.
> score ("boards01.txt")
1924 :: Int
> score ("boards02.txt")
9576 :: Int
Jari Komppa (@Sol_HSA3) animeerde zijn oplossing.