開始、終了、およびいくつかの壁を持つグリッドがあります。ユニットは壁を通過せずに、スタートからゴールまでの最短経路(上下左右のみの移動)をたどります。
ユーザーはパスを変更したいだけ壁を追加することができます。
ただし、いくつの壁を追加しても、どこに追加しても、最短経路の一部にならない正方形がいくつかあることに注意してください。
これらの正方形は、最短経路の一部になることはできません!
どの正方形が最短経路の一部にならないかを検出する方法を探しています。
上記のケースは簡単に見つけることができます。しかし、もっと複雑なケースがあります。検討:
上の画像では、赤い点で囲まれた四角形はどれも最適なパスの一部になることはありません。そのエリアへの入り口は 1 つしかなく、幅が 2 つしかないからです。3 つのスペースの幅がある場合、または壁のいずれかが取り除かれている場合、それらの正方形のほとんどが最適なパスの一部になる可能性があります。
上記のようなケースを検出する方法を見つけようとしましたが (主に最小カットとフラッド フィルを使用)、成功しませんでした。この問題を解決する方法を知っている人はいますか?