Eine arborally erfüllte Punktmenge ist eine 2D-Punktmenge, bei der für jedes achsenausgerichtete Rechteck, das unter Verwendung von zwei Punkten in der Menge als gegenüberliegende Ecken gebildet werden kann, dieses Rechteck mindestens einen anderen Punkt enthält oder berührt. Hier ist eine gleichwertige Definition aus Wikipedia:
Eine Punktmenge gilt als arboral erfüllt, wenn die folgende Eigenschaft gilt: Für jedes Paar von Punkten, die nicht beide auf derselben horizontalen oder vertikalen Linie liegen, gibt es einen dritten Punkt, der in dem von den ersten beiden Punkten aufgespannten Rechteck liegt ( entweder innerhalb oder an der Grenze).
Das folgende Bild zeigt, wie die Rechtecke gebildet werden. Dieser Punktesatz ist nicht bäuerlich erfüllt, da dieses Rechteck mindestens einen weiteren Punkt enthalten muss.
In ASCII-Kunst kann diese Punktmenge wie folgt dargestellt werden:
......
....O.
......
.O....
......
Eine geringfügige Modifikation kann dies arborally befriedigen:
......
....O.
......
.O..O.
......
Oben sehen Sie, dass alle Rechtecke (von denen es nur ein Rechteck gibt) mindestens drei Punkte enthalten.
Hier ist ein weiteres Beispiel für eine komplexere Punktmenge, die auf dem Baum erfüllt ist:
Für jedes Rechteck, das über zwei Punkte gezeichnet werden kann, enthält dieses Rechteck mindestens einen weiteren Punkt.
Die Herausforderung
Ausgehend von einem rechteckigen Gitter von Punkten (die ich darstelle O
) und einem leeren Raum (die ich darstelle .
), geben Sie einen Wahrheitswert aus , wenn er vom Baum erfüllt ist, oder einen Falschwert , wenn er nicht erfüllt ist. Das ist Code-Golf.
Zusätzliche Regeln:
- Sie können die Zeichen auswählen
O
und.
mit jedem anderen Paar druckbarer ASCII-Zeichen austauschen. Geben Sie einfach an, welche Zeichenzuordnung Ihr Programm verwendet. - Das Gitter wird immer rechteckig sein. Ein abschließender Zeilenumbruch ist zulässig.
Mehr Beispiele
Baum zufrieden:
.OOO.
OO...
.O.OO
.O..O
....O
..O..
OOOO.
...O.
.O.O.
...OO
O.O.
..O.
OOOO
.O.O
OO..
...
...
...
...
..O
...
O.....
O.O..O
.....O
OOO.OO
Nicht zufrieden mit dem Baum:
..O..
O....
...O.
.O...
....O
..O..
O.OO.
...O.
.O.O.
...OO
O.....
..O...
.....O