逃离迷宫
计算机的智能取决于它的编程能力。为了让机器人做出令人惊叹的壮举,程序员必须对算法有很强的掌握,并理解机器人如何与周围环境交互。在这篇关于计算机科学的预告片中,你被要求遵循一个算法并确定结果。假设你是一个机器人,只能服从给你的指令。如果你的算法是由一个优秀的程序员编写的,那么代码将是有意义的,你将看到它是如何实现目标的。在其他时候,这些说明会让你困惑,你会想知道谁会写这样的东西。
这里有一些建议给你:
- 跟踪每一步都发生了什么。
- 注意您在代码中的位置,并清楚接下来会发生什么。
- 记录你的中间步骤,以防你需要返回。
- 并不是所有的算法都会结束。有时它们会无休止地循环,特别是当它们回到开始的时候。
- 用更多的算法练习!
忒修斯正在上面这个简单的迷宫里练习他的迷宫逃生技能。他从标着“in”的方格开始,面朝右(箭头方向),开始向前走一个方格。出口在右下角的方格里。在他的第一步之后,他是否可以使用下面的算法帮助他逃离这个迷宫?
- 如果他看到前面、左边和右边有一堵墙,旋转180度。
- 否则,如果他有两个方向可以选择(除了他刚来的方向),那就旋转180度,向前走一个方格。
- 否则,如果有一个方向可以走(除了他刚来的方向),就朝那个方向向前走一个方格。
- 如果他在出口,停下来。
- 否则,请执行第一步。
- 一开始,他只有一个移动方向,所以他向右走了一步。
- 它只有一个移动方向,所以它向右走了一步。
- 它只有一个移动方向,所以它向右走了一步。
- 他看到前面有一堵墙,左右都有。所以他旋转了180度。
- 它只有一个移动方向,所以它向左走了一步。
- 它只有一个移动方向,所以它向左走了一步。
- 它只有一个移动方向,所以它向左走了一步。他现在回到了起点,但面朝左边。
- 它只有一个移动方向,所以它往下走一步。
- 它有两个方向可以移动,所以它旋转180度,向前走一个方格。他现在又回到了起点。
- 从这里开始,他只能向一个方向移动,所以他向右走了一步。
我们看到这个过程无限地重复着,所以他将被困在一个循环中,无法逃离迷宫。
这张图展示了他遵循算法时发生的事情。
计算机科学问题可以分为以下几个方面:
引用:逃离迷宫。Brilliant.org.检索从//www.parkandroid.com/wiki/labyrinth-escape/