当您需要对它们进行编程以满足时,您可能知道两个机器人掉线的问题.
两架机器人从飞机上掉落并使用降落伞降落在一条线上(具有不连续的位置),降落伞留在着陆点.这些机器人都朝北,它们相距不远,一个机器人直接落在另一个机器人的东边.
现在要对机器人进行编程,使它们彼此相遇.可以指示他们向左或向右移动到相邻位置并检查当前位置是否存在降落伞.如果遇到另一个机器人,两个机器人都会停在那里,从此过上幸福的生活.
降落伞检查可以有条件地执行任意数量的指令,并且可以无条件地重复任何指令块.写下两个机器人可以同时跟随的程序以及他们遇到的哪些服务员.
你必须创建一个适用于两个机器人的通用算法(一个小的pleonastic)保证机器人会遇到.他们将降落伞留在掉落的地方,他们可以检查当前位置是否有降落伞.
原始声明如下:http://en.wikibooks.org/wiki/Puzzles/Logic_puzzles/Parachuted_Robots 还有一个我不明白的解决方案.如果有人能够理解它,请帮我解释一下.任何其他解决方案将不胜感激.
我对这个问题的第一个想法是将机器人编程为随机选择首先向右或向左,然后做出类似指数搜索的东西:首先向右移动2个位置,然后向左移动4个等等.如果在其中一个"行程"在机器人右侧或左侧找到第二个降落伞(另一个机器人使用的降落伞),机器人只会朝那个方向搜索.这有意义吗?
非常感谢你!