高速な閉領域を判定をするアルゴリズムを考えています。
画像1のようにマスが塗りつぶされているかいないかの値が入っている2次元配列bool[,]が用意してある場合に、
画像2のように赤色のマス(矩形)を配置した場合に、赤斜線のような閉鎖されているマスを高速に判別するアルゴリズムをご教授いただきたいです。
調べたところ閉領域を塗りつぶすアルゴリズムは存在するのですが、その手法だとすべてのマスを走査する必要があるので、低速になってしまいます。
データとしてbool[,]の他に、塗りつぶされた重複しているマスのないの矩形情報(画像1を例にすると、座標(2,2)から幅4、高さ1の矩形、座標(1,3)から幅2、高さ4の矩形、座標(2,7)から幅5、高さ2の矩形)を参照ものできるものとします。
ヒントだけでもありがたいです。よろしくお願い致します。
現状思いついている最適化
- 新しく配置した矩形が、0または1種類の矩形にしか隣り合っていない場合は新しく閉領域となる部分は存在しない
回答1件
あなたの回答
tips
プレビュー



2021/09/14 01:40
2021/09/14 04:14
2021/09/14 04:22
2021/09/14 04:27 編集
2021/09/14 04:42
2021/09/14 04:48 編集
2021/09/15 22:12