Het is mogelijk om op een schaakbord 8 koninginnen te plaatsen op zo’n manier dat geen enkele koningin een andere koningin kan slaan!
Dit betekent dat er zich geen 2 koninginnen op dezelfde rij, dezelfde kolom of dezelfde diagonaal bevinden.
De 8 koninginnen zijn dan alle 8 ‘gelukkig’!
Opdracht
Schrijf een programma dat volgende stappen doorloopt:
- De gebruiker voert, op 8 verschillende regels, 8 verschillende velden van een schaakbord in:
- Op elk van deze velden bevindt zich een koningin.
- De invoer per regel bestaat uit een coördinatenpaar.
- Elk paartje geeft de positie aan van 1 koningin.
- Het eerste van de 2 cijfers bepaalt de kolomwaarde, het tweede cijfer de rijwaarde.
- Het veld links onderaan het schaakbord is het veld 1,1.
- Zorg dat de posities van de 8 koninginnen in een lijst terecht komen.
- Controleer of bij de ingevoerde opstelling we te maken hebben met GELUKKIGE KONINGINNEN.
- Als er een paar van koninginnen is dat niet aan bovenstaande regels voldoet, print dan ‘GEEN 8 GELUKKIGE KONINGINNEN’.
- Anders print je ‘8 GELUKKIGE KONINGINNEN’.
Invoer
Acht regels met elk een stringwaarde:
- Zo’n stringwaarde bevat 2 natuurlijke getallen (van 1 tem 8) gescheiden door een spatie.
- Die 2 getallen vormen een coördinatenpaar:
- De eerste waarde geeft de kolom aan (bekijk het als de x-waarde)
- De tweede waarde geeft de rij aan (bekijk het als de y-waarde)
- Het veld linksonderaan is het veld (1,1) (de X en Y-as snijden elkaar links onderaan het bord).
- De 8 regels, leveren dus de coördinaten van 8 velden.
- Verwerk ze op een manier naar keuze tot een lijst.
Uitvoer
Eén stringwaarde.
- De stringwaarde “8 GELUKKIGE KONINGINNEN” als ze allemaal “vrij” staan.
- De stringwaarde “GEEN 8 GELUKKIGE KONINGINNEN” als er minstens 1 van de 8 koninginnen geslagen kan worden door één van de andere koninginnen.
Voorbeeld 1
Invoer
1 6
5 1
8 8
3 5
7 2
6 4
2 3
4 7
Uitvoer
8 GELUKKIGE KONINGINNEN
Voorbeeld 2
Invoer
7 6
3 4
2 2
4 8
8 7
6 1
5 5
1 3
Uitvoer
GEEN 8 GELUKKIGE KONINGINNEN
Voorbeeld 3
Invoer
2 7
8 4
4 5
1 3
2 5
8 2
2 3
4 2
Uitvoer
GEEN 8 GELUKKIGE KONINGINNEN