您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过迷宫必须穿越的起点和终点之间的最小距离

通过迷宫必须穿越的起点和终点之间的最小距离

好的,所以也许我会再尝试解决这个问题。上次,我没有注意到您可以多次访问一个点的事实,因此建议可能是错误的。

首先,假设“开始”,“结束”和“灰色”节点的总数为N,并且“开始”为0,“结束”为N-1,“灰色”节点的总数为1到N-2。

我们可以看到我们可以state随时(mask, index)用表示,其中index表示我们所在的当前节点,mask表示我们已经访问过的所有节点(0 <mask <2 ^ N)。

首先,状态为(1,0)或(00000 … 1,0),这意味着仅访问了城市0,我们的目标是到达状态(2 ^ N-1,N-1),这意味着访问所有节点,然后在节点N-1结束旅程。

因此,在这一点上,我们可以很容易地看到,我们已经将原始问题转换为状态图,并且我们的目标是找到从状态0(1,0)到状态末端(2 ^ N-1)的最短路径。 ,N-1),因此,对这个新图应用Dijkstra最短路径算法,我们就得到了答案。

注意:答案基于一个假设,即N <= 17

一个要注意的是:对于机器人技术,最短的路径可能并不一定是最佳的路径,因为机器人在旋转和直线运行时的速度是不同的。

其他 2022/1/1 18:17:26 有545人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶