Beschrijving

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.

Een diagonale Sudoku heeft als extra eigenschap dat ook beide hoofddiagonalen alle cijfers van 1 t.e.m. 9 bevatten. Een voorbeeld:

{width=”200px”}

In bovenstaand voorbeeld zijn de diagonalen:

Gegeven is een 9x9 Sudoku matrix. Jouw taak is om beide hoofddiagonalen te extraheren en terug te geven als een tuple van twee lijsten: (hoofddiagonaal, anti-diagonaal). In bovenstaand voorbeeld zou dit dus ([1, 8, 6, 3, 2, 5, 9, 7, 4], [9, 5, 1, 4, 2, 6, 7, 3, 8]) zijn.

Voorbeeld

>>> sudoku_diagonalen([
... [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]
... ])
([2, 1, 8, 8, 1, 2, 3, 9, 2], [3, 5, 2, 5, 1, 9, 1, 6, 8])
>>> sudoku_diagonalen([
... [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]
... ])
([1, 2, 3, 4, 5, 6, 7, 8, 9], [6, 9, 1, 8, 5, 7, 4, 3, 2])

Invoer

Een matrix die een opgeloste Sudoku voorstelt.

Uitvoer

Een tuple bestaande uit twee lijsten: