您可能知道两个机器人在需要编程时遇到问题。两个机器人在一条线上
使用降落伞将两个机器人从飞机上掉落并落在一条线上(离散位置),该降落伞留在着陆点。机器人都面向北方,它们之间距离未知,一个直接落在另一个的东面。
机器人现在被编程,使他们相遇。可以指示他们向左或向右移动到相邻位置,并检查当前位置是否存在降落伞。如果符合另一个机器人,那么两个机器人都会在那里停下来,并从此过上幸福的生活。
降落伞检查可能有条件地执行任意数量的指令,并且任何指令块可能无条件地重复。写下一个机器人可以同时遵循的程序以及他们遇到的那些门卫。
您必须创建一个适用于两个机器人的通用算法(有点pleonastic),以确保机器人会见。他们把降落伞放在他们掉落的地方,他们可以检查当前位置是否有降落伞。
原来的声明在这里:http://en.wikibooks.org/wiki/Puzzles/Logic_puzzles/Parachuted_Robots 还有一个我不明白的解决方案。如果有人能够理解它,请帮我解释一下。任何其他解决方案将不胜感激。
我对这个问题,首先想到的是对机器人进行编程,以选择随机先去左边或右边,然后做出类似指数搜索:先去2个职位,以正确的,那么4到左等。如果在机器人发现第二个降落伞(被另一个机器人使用的降落伞)中的一个“行程”,机器人将只在该方向上搜索。这有意义吗?
非常感谢!
实际上,所提出的算法将无法使用所给出的指令来执行,因为没有办法计算,因此无法进行指数搜索。 – 2015-10-31 07:58:25
同意,OP的指数搜索建议需要计数器。这里提出的线性搜索没有。 – ldgabbay 2015-11-05 16:34:14