Bij een Sudoku zijn alle kolommen, rijen en 3x3’s opgevuld met de cijfers van 1 t.e.m. 9 waarbij de getallen niet 2 keer voorkomen per rij of kolom en elk getal van 1 t.e.m. 9 aanwezig moet zijn.
Bij de diagonale versie moeten ook de diagonalen aan dezelfde regels voldoen. Een voorbeeld:
{width=”200px”}
In bovenstaand voorbeeld is het een diagonale sudoku:
Gegeven is een opgeloste sudoku als 9x9 matrix. Onderzoek of het een diagonale sudoku is. Als dat zo is, retourneer dan True, anders False.
>>> diagonale_sudoku([
[2, 5, 6, 1, 4, 9, 8, 7, 3],
[9, 1, 3, 7, 2, 8, 4, 5, 6],
[4, 7, 8, 6, 5, 3, 2, 1, 9],
[1, 4, 9, 8, 3, 5, 6, 2, 7],
[6, 2, 5, 4, 1, 7, 9, 3, 8],
[3, 8, 7, 9, 6, 2, 1, 4, 5],
[5, 9, 1, 2, 7, 6, 3, 8, 4],
[7, 6, 2, 3, 8, 4, 5, 9, 1],
[8, 3, 4, 5, 9, 1, 7, 6, 2]
])
False
Want de diagonalen bevatten niet alle cijfers van 1 tem 9.
diagonale_sudoku([
[1, 4, 8, 9, 7, 5, 2, 3, 6],
[6, 2, 7, 1, 3, 4, 5, 9, 8],
[9, 5, 3, 6, 8, 2, 1, 4, 7],
[3, 9, 2, 4, 1, 8, 6, 7, 5],
[8, 7, 6, 2, 5, 3, 9, 1, 4],
[4, 1, 5, 7, 9, 6, 8, 2, 3],
[5, 8, 4, 3, 2, 9, 7, 6, 1],
[7, 3, 9, 5, 6, 1, 4, 8, 2],
[2, 6, 1, 8, 4, 7, 3, 5, 9]
])
True
Want diagonaal 1 is [1, 2, 3, 4, 5, 6, 7, 8, 9] en diagonaal 2 is [6, 7, 8, 9, 1, 2, 3, 4, 5] (gesorteerd is dat ook [1, 2, 3, 4, 5, 6, 7, 8, 9]).