作业4:中点查找算法


作为解决算法问题的练习,你的任务是通过编程来查找第一行的中点。 假设Karel在一个5x5的世界中从第一行第一列的角落开始。 应该结束在第一行的中点上即第一行第三列的角落。

Karel创建棋盘 Karel创建棋盘

请注意,最终的世界只有在第一行的中点有一个蜂鸣器。 在此过程中,Karel 可以在任何它想放置的地方放置额外的蜂鸣器, 但必须在完成之前再次将它们全部捡起。

在解决这个问题时,你可以依靠以下有关世界的事实:

1.Karel初始状态:第一行第一列的角落,面向东方;包里有1000个蜂鸣器
2.世界初始状态:没有内墙或蜂鸣器;
3.世界不一定是正方形的,但您可以假设它至少与宽度一样高;

此外,您的程序可以假定以下简化:

1.如果世界的宽度为奇数,Karel 必须将蜂鸣器放在中心角落里;
2.如果世界的宽度为偶数,Karel 可以将蜂鸣器放在两个中心角落里的任何一个上;
3.Karel结束时面向哪个方向并不重要。
🚀您可以使用许多不同的算法来解决此问题,因此请随意发挥创意!🌻

⏳开始你的编程之旅吧!

🔥逐步求精法🔥
🔥边开发边迭代测试🔥