走迷宫(三)
样例输入1
9 13
#############
#@..........#
#####.#.#.#.#
#...........#
#.#.#.#.#.#.#
#.#.......#.#
#.#.#.#.#.#.#
#...........#
#####.#######
样例输出1
11
样例输入2
4 6
#.####
#.#.##
#...@#
######
样例输出2
5
解题思路
这道题也是一道基础的广搜题,就是做了一丢丢小改动。因为,是要输出最短路径就直接使用广搜,最后得到的一定是最短路。那么,这道题给出了起点“@”而终点不是唯一确定的,所以我们可以把终点设为一个唯一确定的“T”。想到这里这道题基本就结束了yei。
来看下代码哈(将终点都设为“T”)
for(int i=0;i<n;i++)
{
if(maze[i][0]=='.')
{
maze[i][0]='T';
}
if(maze[i][m-1]=='.')
{
maze[i][m-1]='T';
}
}
for(int j=0;j<m;j++)
{
if(maze[0][j]=='.')
{
maze[0