gpt4 book ai didi

algorithm - 无限直线中的两个机器人

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:57:29 24 4
gpt4 key购买 nike

这与“降落伞机器人”谜题略有不同。有两个机器人卡在一条无限长的线上。它们的距离不是相对的,因此它们相距 5m 或 5km 并不重要。假设您需要对两个机器人进行编程以便在磁铁处相遇,您唯一的选择是:

  • 向左移动一格
  • 向右移动一格
  • 向左移动两步
  • 向右移动两步
  • 停下来检查机器人是否在磁铁上

机器人不知道磁铁旁边是否已经有磁铁,移动一个机器人也会使另一个机器人朝同一方向移动。制定两个机器人在磁铁处相遇的算法。

我无法为这个问题制定解决方案,这个难题有解决方案吗?

最佳答案

我认为两个机器人可以运行相同的程序:

var steps = 10, count = 10, left = true;
while (!isRobotOnMagnet()) {
if (count-- > 0)
if (left)
oneMoveLeft();
else
oneMoveRight();
else {
steps *= 2;
left = !left;
count = steps;
}
}

这不是最优雅的表述方式,还有改进的余地。这个想法是向左走几步,然后向右加倍,然后再次向左加倍,依此类推...您最终会找到磁铁。

关于algorithm - 无限直线中的两个机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43239221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com