Diese Herausforderung ist auf dem folgenden Puzzle basiert: Sie sind ein gegeben ndurch nRaster mit nZellen markiert. Ihre Aufgabe ist es, das Raster in nTeile zu unterteilen, in denen jedes Teil aus genau nZellen besteht, von denen jede genau eine markierte Zelle enthält.
Beispiel
Hier ist ein Puzzle auf der linken Seite und seine (einzigartige) Lösung auf der rechten Seite:
Herausforderung
Sie erhalten einen Satz mit nNullindex versehener Koordinaten in einem angemessenen Format.
[(0,0), (0,3), (1,0), (1,1), (2,2)]
Und Ihre Aufgabe ist es, ein Programm zu schreiben, das alle gültigen Paritionen zurückgibt (wiederum in jedem vernünftigen Format).
[
[(0,0), (0,1), (0,2), (1,2), (1,3)],
[(0,3), (0,4), (1,4), (2,4), (3,4)],
[(1,0), (2,0), (3,0), (4,0), (4,1)],
[(1,1), (2,1), (3,1), (3,2), (4,2)],
[(2,2), (2,3), (3,3), (4,3), (4,4)]
]
Wenn das Rätsel keine Lösung hat, sollte das Programm dies anzeigen, indem es einen Fehler auslöst oder eine leere Lösung zurückgibt.
Ein- / Ausgabebeispiele
[(0,0)] => [[(0,0)]]
[(0,0), (1,1)] => [
[(0,0), (1,0)],
[(0,1), (1,1)]
]
[(0,0), (0,1), (1,0)] => [] (no solution)
[(0,0), (0,1), (0,2)] => [
[(0,0), (1,0), (2,0)],
[(0,1), (1,1), (2,1)],
[(0,2), (1,2), (2,2)],
]
[(0,0), (0,2), (1,2)] => [
[(0,0), (1,0), (2,0)],
[(0,1), (0,2), (1,1)],
[(1,2), (2,1), (2,2)],
]
Wertung
Das ist Code-Golf , also gewinnt der kürzeste Code.

