Finden Sie bei einem Sudoku-Puzzle alle möglichen Markierungen, die in jede leere Zelle gefüllt werden können.
Testfall
Eingang:
[
[
// Top left:
[
0, 0, 0,
3, 4, 0,
0, 0, 2
],
// Top middle:
[
7, 4, 0,
0, 0, 0,
0, 0, 3
],
// Top right:
[
8, 0, 0,
1, 7, 0,
0, 0, 0
]
],
[
// Middle left:
[
9, 0, 4,
7, 0, 0,
1, 0, 3
],
// Center:
[
0, 5, 0,
0, 0, 0,
0, 7, 0
],
// Middle right:
[
0, 0, 0,
6, 4, 0,
0, 0, 0
]
],
[
// Bottom left:
[
0, 0, 7,
6, 3, 0,
0, 0, 0
],
// Bottom middle:
[
0, 0, 5,
0, 0, 0,
9, 1, 0
],
// Bottom right:
[
0, 0, 0,
5, 2, 0,
7, 0, 0
]
]
]
Ausgabe:
[
[
// Top left:
[
[5], [1, 5, 6, 9], [1, 5, 6, 9],
[], [], [5, 6, 8, 9],
[5, 8], [1, 5, 6, 7, 8, 9], []
],
// Top middle:
[
[], [], [1, 2, 6, 9],
[2, 5, 6, 8], [2, 6, 8, 9], [2, 6, 8, 9],
[1, 5, 6, 8], [6, 8, 9], []
],
// Top right:
[
[], [3, 5, 6, 9], [2, 3, 5, 6, 9],
[], [], [2, 5, 6, 9],
[4, 9], [5, 6, 9], [4, 5, 6, 9]
]
],
[
// Middle left:
[
[], [2, 6, 8], [],
[], [2, 5, 8], [5, 8],
[], [2, 5, 6, 8], []
],
// Center:
[
[1, 2, 3, 6, 8], [], [1, 2, 6, 8],
[1, 2, 3, 8], [2, 3, 8, 9], [1, 2, 8, 9],
[2, 4, 6, 8], [], [2, 4, 6, 8, 9]
],
// Middle right:
[
[2, 3], [1, 3, 8], [1, 2, 3, 7, 8],
[], [], [1, 2, 3, 5, 8, 9],
[2, 9], [5, 8, 9], [2, 5, 8, 9]
]
],
[
// Bottom left:
[
[2, 4, 8], [1, 2, 8, 9], [],
[], [], [1, 8, 9],
[2, 4, 5, 8], [2, 5, 8], [5, 8]
],
// Bottom middle:
[
[2, 3, 4, 6, 8], [2, 3, 6, 8], [],
[4, 8], [8], [4, 7, 8],
[], [], [2, 4, 6, 8]
],
// Bottom right:
[
[3, 4, 9], [1, 3, 6, 8, 9], [1, 3, 4, 6, 8, 9],
[], [], [1, 4, 8, 9],
[], [3, 6, 8], [3, 4, 6, 8]
]
]
]
Ausgabevisualisierung; die kleinen Zahlen:
Regeln
- Das ist ein Code-Golf. Die kürzeste Antwort in Bytes (oder gleichwertig) gewinnt.
- Die Eingabe kann im Array- oder String-Format erfolgen.
- Die Eingabe muss in der oben angegebenen Reihenfolge erfolgen (oben links, oben in der Mitte, oben rechts usw.)
- Die Ausgabe kann im Array- oder String-Format erfolgen, sofern die Ausgabe das erwartete Ergebnis logisch darstellen kann.
- Die Ausgabe muss in derselben Reihenfolge wie die Eingabe erfolgen (oben links, oben in der Mitte, oben rechts usw.)
- Die Ausgabe muss nicht verschönert werden.
- Der Code muss auf jedes gültige unvollständige Sudoku-Raster anwendbar sein.
- Es gelten die Standardregeln für das Golfen.
Zusätzliche Bemerkungen:
Sie erhalten zusätzliche gefälschte Internetpunkte, wenn Ihr Programm oder Ihre Funktion das Ergebnis verwendet, um das Sudoku-Rätsel so weit zu lösen, dass Zellwerte nicht mehr logisch gelöst werden können. Beispielsweise kann die allererste Zelle im Testfall möglicherweise nur die Nummer 5 enthalten, daher sollte dies beim Ausfüllen der anderen Werte berücksichtigt werden. Dies ist nur zum Spaß und zur zusätzlichen Herausforderung, andernfalls gewinnt die kürzeste Antwort, unabhängig davon, ob dieses Kriterium erfüllt ist oder nicht.
["000340002", "740000003", ...]
)