arborally満足点セットは、対角としてセット内の2点を用いて形成することができる任意の軸に整列長方形のために、その矩形が少なくとも一つの他の点を含む、または接触、ように点の2次元集合です。ウィキペディアの同等の定義を次に示します。
次のプロパティが成り立つ場合、ポイントセットはアーボリーに満たされていると言われます:両方が同じ水平線または垂直線上にないポイントのペアについて、最初の2つのポイント(内部または境界のいずれか)。
次の図は、長方形がどのように形成されるかを示しています。この長方形は少なくとも1つ以上の点を含む必要があるため、この点集合は樹木学的に満たされていません。
ASCIIアートでは、このポイントセットは次のように表すことができます。
......
....O.
......
.O....
......
少し変更することで、これを十分に満足させることができます。
......
....O.
......
.O..O.
......
上記では、すべての長方形(そのうちの1つだけ)には少なくとも3つのポイントが含まれていることがわかります。
樹木学的に満たされるより複雑な点集合の別の例を次に示します。
2点にまたがって描画できる長方形の場合、その長方形には少なくとも1つの他の点が含まれます。
チャレンジ
(私が表す点の長方形のグリッド所与O
)および空のスペース(私はと表す.
)、出力truthyのそれがarborally満たされる場合、値、またはfalseyのそうでない場合、値。これはコードゴルフです。
追加のルール:
- 文字
O
を選択して、.
印刷可能な他のASCII文字のペアと交換することができます。プログラムが使用する文字マッピングを指定するだけです。 - グリッドは常に長方形になります。末尾の改行を使用できます。
その他の例
満足している:
.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
十分に満足していない:
..O..
O....
...O.
.O...
....O
..O..
O.OO.
...O.
.O.O.
...OO
O.....
..O...
.....O