Ich suche nach einer Pseudocode-Logik, die ngleich große Bereiche in einem bestimmten Polygon findet. Zwischen oder außerhalb der übereinstimmenden Bereiche darf kein Platz sein. Die erste gültige Übereinstimmung der Bereiche sollte zurückgegeben werden.
Angenommen, folgendes Polygon [2,2, 3,1, 5,1, 5,4, 4,5, 2,3]als Eingabe:
... und 3als Parameter könnte eine gültige Ausgabe sein [ [2,2, 3,2, 3,3, 4,3, 4,5, 2,3], [2,2, 3,1, 5,1, 4,2, 4,3, 3,3, 3,2], [4,5, 4,2, 5,1, 5,4] ]:
Eine weitere gültige Ausgabe mit Parameter 3ist [ [3,4, 3,3, 4,3, 4,2, 3,2, 3,1, 2,2, 2,3], [4,3, 4,2, 3,2, 3,1, 5,1, 5,3], [3,4, 3,3, 5,3, 5,4, 4,5] ]:
Bitte beachten Sie, dass Bereiche nicht denselben Mittelpunkt haben müssen. Ein oder mehrere Bereiche können zufällig genau zwischen andere Bereiche innerhalb des Polygons fallen.
Hier ist ein weiteres Beispiel für die Eingabe / Ausgabe von Beispielen.
Angenommen, folgendes Polygon [1,3, 1,1, 7,1, 7,2, 8,2, 8,3, 5,6, 4,6]als Eingabe:
..und 5als Parameter könnte eine gültige Ausgabe sein [ [1,3, 1,1, 3,1, 3,2, 4,3, 3,4, 3,3], [3,2, 3,1, 7,1, 7,2, 6,2, 6,3, 5,3, 5,2], [6,2, 8,2, 8,3, 6,5, 5,5, 5,4, 6,4], [1,3, 3,3, 3,4, 5,5, 6,4, 6,5, 7,5, 6,6, 5,6], [3,4, 4,3, 3,2, 5,2, 5,3, 6,3, 6,4, 5,4, 4,5] ]:
Folgende Annahmen werden getroffen:
Die Richtung aller Grenzen ist durch 45 teilbar
Ganzzahlige Koordinaten werden für alle Polygone verwendet
Der ganzzahlige Bereich des Eingabepolygons ist immer durch teilbar
nAlle Polygone können entweder konvex oder konkav sein
lösbar, dh
nBereiche können richtig in das angegebene Polygon passen





