有 2 个人面向某个方向(上、左、下或右)。它们可以顺时针、逆时针转动并向前移动一个点。两个人都在一个有障碍的板上。它们都有一定的位置,用坐标表示(x,y)
,还有一定的能量。移动和转动需要一定的能量:ENERGY_MOVE
和ENERGY_TURN
。
目标是使这两个人尽可能靠近彼此,以曼哈顿距离表示。曼哈顿距离不考虑障碍物(因此实际上只是让人类尽可能靠近彼此,同时使用尽可能少的能量)。解决方案应该是最优的。
我发现 Dijkstra 可以解决这个问题,但有一个问题。Java 数组有一个整数索引,所以我不能存储所有的顶点。我该如何解决这个问题?