Voor deze opgave hebben we een uitbreiding bedacht op het bekende vier-op-een-rij spel. Net als het originele spel, wordt onze uitbreiding ook op een rechthoekig $$m \times n$$ spelbord gespeeld met $$m$$ rijen en $$n$$ kolommen. In tegenstelling tot het originele vier-op-een-rij spel kan onze uitbreiding echter met meer dan twee spelers gespeeld worden. Elke speler kiest hierbij een letter uit het alfabet om zijn speelstukken aan te duiden.
In onderstaand voorbeeld illustreren we deze uitbreiding op het vier-op-een-rij spel met een volledig gevuld $$9 \times 8$$ spelbord, waarop vier spelers respectievelijk de letters A, C, G en T gekozen hebben om hun speelstukken aan te duiden. Vandaar dat we deze variant DNA-op-een-rij gedoopt hebben.
Schrijf een functie
zoekOplossingen(spelbord)
Schrijf een functie
toonOplossingen(spelbord)
>>> spelbord = [['T', 'T', 'T', 'A', 'C', 'C', 'G', 'A'],
... ['C', 'C', 'G', 'T', 'C', 'G', 'T', 'A'],
... ['T', 'C', 'A', 'T', 'T', 'G', 'T', 'G'],
... ['T', 'G', 'C', 'G', 'C', 'G', 'C', 'G'],
... ['C', 'G', 'T', 'G', 'C', 'C', 'G', 'T'],
... ['A', 'T', 'T', 'T', 'T', 'G', 'G', 'C'],
... ['A', 'T', 'C', 'T', 'T', 'A', 'T', 'A'],
... ['A', 'T', 'G', 'G', 'C', 'T', 'T', 'C'],
... ['T', 'T', 'C', 'A', 'C', 'C', 'G', 'T']]
>>> zoekOplossingen(spelbord)
((6, 2, 'horizontaal'), (6, 2, 'verticaal'))
>>> toonOplossingen(spelbord)
1 2 3 4 5 6 7 8
1 T T T A C C G A
2 C C G T C G T A
3 T C A T T G T G
4 T G C G C G C G
5 C G T G C C G T
6 A T T T T G G C
7 A T C T T A T A
8 A T G G C T T C
9 T T C A C C G T
6,2 horizontaal
6,2 verticaal