这与“跳伞机器人”之谜有些不同。有两个机器人挂在无限的线上。它们的距离不是相对的,因此它们相距5米或5公里并不重要。假设你需要为了两个机器人进行编程,以满足在磁体和唯一的选择,您都分别是:两个机器人无限长
- 一个向左移动
- 一个向右移动
- 两个移动到左
- 两个向右移动
- 停下来检查,如果机器人是在磁铁
机器人将不知道是否已经有旁边TH e磁铁,移动一个机器人也会将另一个机器人移向同一个方向。为两个机器人在磁体上相遇制定一个算法。
我无法为这个问题提出解决方案,难道有解决方案吗?
这与“跳伞机器人”之谜有些不同。有两个机器人挂在无限的线上。它们的距离不是相对的,因此它们相距5米或5公里并不重要。假设你需要为了两个机器人进行编程,以满足在磁体和唯一的选择,您都分别是:两个机器人无限长
机器人将不知道是否已经有旁边TH e磁铁,移动一个机器人也会将另一个机器人移向同一个方向。为两个机器人在磁体上相遇制定一个算法。
我无法为这个问题提出解决方案,难道有解决方案吗?
我觉得这两个机器人可以运行同一程序:
var steps = 10, count = 10, left = true;
while (!isRobotOnMagnet()) {
if (count-- > 0)
if (left)
oneMoveLeft();
else
oneMoveRight();
else {
steps *= 2;
left = !left;
count = steps;
}
}
不是最优雅的方式来制定它,还有改进的余地。这个想法是向左走一些步骤,然后将量增加一倍,然后再增加一倍到左边,等等......你最终会找到磁铁。
如果他们总是朝着同一个方向前进,他们怎么能见面呢?这是否意味着他们的初始距离得以保留? –
@NicoSchertler这就是要求的,我也对 – Cham