考虑一个无限的2D版面。我们有两个玩家,分别在板上的点P1和P2上。他们需要穿过一系列的盒子G1,G2,G3.... Gn。
开始时只知道G1的坐标。只有在走过它前面的箱子后,才能了解G2到Gn的位置。玩家们可以以单位时间沿着板的8个可能方向之一单独移动。我们需要找出使用这两个玩家穿越所有所需的箱子的最小时间。
显而易见的解决方案是贪婪方法,即更接近需要穿越的箱子的玩家向其移动。然后我们再为下一个G计算更接近的玩家。我感觉有一个更好的解决方案存在于此问题中,但我现在无法理解。是否存在更好的解决方案?
开始时只知道G1的坐标。只有在走过它前面的箱子后,才能了解G2到Gn的位置。玩家们可以以单位时间沿着板的8个可能方向之一单独移动。我们需要找出使用这两个玩家穿越所有所需的箱子的最小时间。
显而易见的解决方案是贪婪方法,即更接近需要穿越的箱子的玩家向其移动。然后我们再为下一个G计算更接近的玩家。我感觉有一个更好的解决方案存在于此问题中,但我现在无法理解。是否存在更好的解决方案?