#P113. 迷宫最短路径

迷宫最短路径

迷宫最短路径

题目描述

给定一个 n × m 的迷宫,其中 0 表示可以通行,1 表示墙壁。每次只能向上、下、左、右移动一格,不能走出迷宫,也不能经过墙壁。

请输出从入口到出口的一条最短路径;如果没有路径,输出 no way

输入格式

第一行两个正整数 n, m,表示迷宫的行数和列数。

接下来 n 行,每行 m 个整数 01,整数之间以空格分隔。

接下来两行,每行两个整数:第一行是入口坐标 (x1, y1),第二行是出口坐标 (x2, y2)。行号和列号均从 1 开始。

输出格式

如果存在路径,按 (行,列)->(行,列)->... 的格式输出从入口到出口的一条最短路径。

如果没有路径,输出:

no way

输入输出样例 #1

输入 #1

8 5
1 1 1 1 1
0 0 0 0 1
1 1 1 0 1
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 1 1 0 1
1 0 0 0 1
2 1
8 4

输出 #1

(2,1)->(2,2)->(2,3)->(2,4)->(3,4)->(4,4)->(5,4)->(6,4)->(7,4)->(8,4)

数据范围与提示

对于全部数据,1 ≤ n, m ≤ 100

使用 BFS 可以保证第一次到达出口时得到的路径步数最少。为使输出唯一,搜索相邻格子的顺序固定为:右、下、左、上。

蜀ICP备2025119001号-1