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