【题解】P1238 走迷宫
走迷宫
题目描述
有一个 格的迷宫(表示有 行、 列),其中有可走的也有不可走的,如果用 表示可以走, 表示不可以走,文件读入这 个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用 表示无路)。
优先顺序:左上右下。数据保证随机生成。
输入格式
第一行是两个数 ,接下来是 行 列由 和 组成的数据,最后两行是起始点和结束点。
输出格式
所有可行的路径,描述一个点时用 的形式,除开始点外,其他的都要用 ->
表示方向。
如果没有一条可行的路则输出 。
样例 #1
样例输入 #1
1 | 5 6 |
样例输出 #1
1 | (1,1)->(2,1)->(2,2)->(2,3)->(2,4)->(2,5)->(3,5)->(3,4)->(3,3)->(4,3)->(4,4)->(4,5)->(5,5)->(5,6) |
提示
数据保证随机生成。事实上,如果 且每个位置都是 的话,有 种路径。
思路
这是一道经典的走迷宫,要求我们输出的是路径,走迷宫用DFS四按照题目要求的四个方向左上右下走就可以,那么输出路径我们可以把一个点的路径存储到结构体,再存到栈中。
代码
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wake on Lan の 博客!
评论