我有一个带有开始、结束和一些墙壁的网格。单位从起点到终点采用最短路径(仅向上/向下/向左/向右移动),无需穿过墙壁。
用户可以添加任意数量的额外墙来更改路径。
但是,请注意,无论添加多少墙或添加它们的位置,都有一些正方形永远不会成为最短路径的一部分!
这些正方形永远不能成为最短路径的一部分!
我正在寻找一种方法来检测哪些正方形永远不会成为最短路径的一部分。
上述案例很容易找到;但还有更复杂的情况。考虑:
在上图中,没有一个带有红点的方块是最佳路径的一部分,因为该区域只有一个入口,而且只有两个空间宽。如果它是三个空间宽,或者如果任何一堵墙被移除,那么这些方块中的大部分都可能成为最佳路径的一部分。
我一直在尝试找出一种方法来检测上述情况(主要使用最小切割和洪水填充),但没有成功。有谁知道解决这个问题的方法?