这与跳伞机器人"有点不同。难题。有两个机器人挂在无限的线上。它们的距离不是相对的,因此如果相距5米或5千米并不重要。假设您需要对两个机器人进行编程以便在磁铁上进行编程,并且您拥有的唯一选择是:
机器人不知道磁铁旁边是否已经存在,移动一个机器人也会使另一个机器人朝同一方向移动。为两个机器人制定一个算法,以便在磁铁上相遇。
我无法为这个问题制定解决方案,是否有解决方案?
答案 0 :(得分:1)
我认为两个机器人都可以运行相同的程序:
var steps = 10, count = 10, left = true;
while (!isRobotOnMagnet()) {
if (count-- > 0)
if (left)
oneMoveLeft();
else
oneMoveRight();
else {
steps *= 2;
left = !left;
count = steps;
}
}
不是最优雅的方式来制定它,还有改进的余地。这个想法是左边的一些步骤,然后向右加倍,然后再向左加倍,依此类推......你最终会找到磁铁。