Pro.ID1308 Title走迷宫 Title链接http://10.20.2.8/oj/exercise/problem?problem_id=1308 AC631 Submit2964 Ratio21.29% 时间&空间限制描述一个迷宫可用类似于如下的一个二维数组来描述: .#..# 图中,'.'表示可行走的通路,'#'表示障碍物,不可行走,也不可穿越。走迷宫时,只有上下左右四个方向可以行走,不可以斜着走。 假设此迷宫的入口坐标为(0,0)(左上角),出口坐标为(4,4)(右下角),则此迷宫可以通过如下的坐标序列(也可称为路径),从入口走到出口: (0,0) (1,0) (2,0) (2,1) (2,2) (2,3) (3,3) (3,4) (4,4) 显然,此迷宫的路径不止一条。 你的任务就是要判断所给的迷宫是否有解,即是否存在至少一条从入口到出口的通路坐标序列。 输入有多个测试用例。 每个测试用例的第一行是2个整数 m, n ,表示迷宫的长度和宽度。0 < m, n ≤ 50 第二行是4个整数 a, b, c, d,其中(a, b)表示迷宫的入口坐标,(c, d)表示出口坐标。 最后一个用例,m=n=0,不用处理。 输出Description 一个迷宫可用类似于如下的一个二维数组来描述: .#..# 图中,'.'表示可行走的通路,'#'表示障碍物,不可行走,也不可穿越。走迷宫时,只有上下左右四个方向可以行走,不可以斜着走。 假设此迷宫的入口坐标为(0,0)(左上角),出口坐标为(4,4)(右下角),则此迷宫可以通过如下的坐标序列(也可称为路径),从入口走到出口: (0,0) (1,0) (2,0) (2,1) (2,2) (2,3) (3,3) (3,4) (4,4) 显然,此迷宫的路径不止一条。 你的任务就是要判断所给的迷宫是否有解,即是否存在至少一条从入口到出口的通路坐标序列。 Input 有多个测试用例。 每个测试用例的第一行是2个整数 m, n ,表示迷宫的长度和宽度。0 < m, n ≤ 50 第二行是4个整数 a, b, c, d,其中(a, b)表示迷宫的入口坐标,(c, d)表示出口坐标。 最后一个用例,m=n=0,不用处理。 Output 对每个迷宫输出一行结果,如果该迷宫有解,则输出"YES",否则输出"NO"。 Sample Input 5 5 Sample Output YES Hint 关于迷宫的题目类型有很多,如求迷宫是否有解(如本题)、迷宫的最短路径有多长、迷宫的最短路径是什么,相关的变形的题目也不少,今后会慢慢接触到。 虽然可用多种算法来求解本题,但规定本题必须采用栈作为辅助数据结构来解决。 Author 样例输入5 5 样例输出YES 提示关于迷宫的题目类型有很多,如求迷宫是否有解(如本题)、迷宫的最短路径有多长、迷宫的最短路径是什么,相关的变形的题目也不少,今后会慢慢接触到。 虽然可用多种算法来求解本题,但规定本题必须采用栈作为辅助数据结构来解决。 作者 |