【数据结构与算法】之深入解析“穿过迷宫的最少移动次数”的求解思路与算法示例
【摘要】
一、题目要求
你还记得那条风靡全球的贪吃蛇吗?我们在一个 n*n 的网格上构建了新的迷宫地图,蛇的长度为 2,也就是说它会占去两个单元格。蛇会从左上角((0, 0) 和 (0, 1))开始移动,用 ...
一、题目要求
- 你还记得那条风靡全球的贪吃蛇吗?我们在一个 n*n 的网格上构建了新的迷宫地图,蛇的长度为 2,也就是说它会占去两个单元格。蛇会从左上角((0, 0) 和 (0, 1))开始移动,用 0 表示空单元格,用 1 表示障碍物,蛇需要移动到迷宫的右下角((n-1, n-2) 和 (n-1, n-1))。
- 每次移动,蛇可以这样走:
-
- 如果没有障碍,则向右移动一个单元格,并仍然保持身体的水平/竖直状态;
-
- 如果没有障碍,则向下移动一个单元格,并仍然保持身体的水平/竖直状态;
-
- 如果它处于水平状态并且其下面的两个单元都是空的,就顺时针旋转 90 度,蛇从((r, c)、(r, c+1))移动到 ((r, c)、(r+1, c)):

-
- 如果它处于竖直状态并且其右面的两个单元都是空的,就逆时针旋转 90 度,蛇从((r, c)、(
文章来源: blog.csdn.net,作者:Serendipity·y,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Forever_wj/article/details/123487020
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)