1254:走出迷宫
1254:走出迷宫 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 2605 通过数: 1202 【题目描述】 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。 【输入】 第一行是两个整数n和m(1≤n,m≤100),表示迷宫的行数和列数。 接下来n行,每行一个长为m的字符串,表示整个迷宫的布局。字符‘.’表示空地,‘#’表示墙,‘S’表示起点,‘T’表示出口。 【输出】 输出从起点到出口最少需要走的步数。 【输入样例】 3 3 S#T .#. ... 【输出样例】 6 【来源】 一本通 这道题目用BFS做。 1 #include<cstdio> 2 #include<iostream> 3 #include<queue> //队列 4 using namespace std; 5 int next[4][2]={{1,0},{-1,0},{0,-1},{0,1}}; //控制方向 6 int n,m,i,j,ex,ey,sx,sy,minn=999999; 7 char s[500][500]; //迷宫 8 struct node{ 9 int x,y,stop; 10 }; 11 int bfs(int a,int b) 12