c++ 迷宫搜索(宽搜)
题目描述
迷宫的游戏,相信大家都听过,现在我们用一个n*m的矩阵表示一个迷宫,例如:
S.X.
..X.
..XD
....
其中‘S’表示起点,‘D’表示终点,‘X’表示该位置为墙,不可以走,‘.’表示可以通行。每次只能向“上下左右”四个方向移动一步。
你的任务是判断在x步内(小于等于x),能否从起点走到终点。
输入
第一行输入三个数n m x,分别表示迷宫的尺寸和步数。(1 < n,m < 7; 0 < x < 50)
接下来输入一个n*m的矩阵,描述迷宫的状态。
输出
判断是否能在x步内从起点走到终点,如果可以,输出“YES”,否则输出“NO”。
样例输入
3 4 5
S.X.
..X.
...D
样例输出
YES
废话不多说,直接上代码
AC代码
#include <bits/stdc++.h>
using namespace std;
int n,m,z,f,e;//e是入队的下标 f 是出队的下标
struct point {//结构体
int x,y,step;
};
int d