c++ 迷宫搜索【队列 搜索 BFS】宽搜优先搜索

问题 C: 迷宫搜索【队列 搜索 BFS】
题目描述: 
迷宫的游戏,相信大家都听过,现在我们用一个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 */ 

#include <bits/stdc++.h>
using namespace std;
int n, m, z, f, e;//e是入队的下标 f 是出队的下标
struct point //结构体

    int x, y, step; // 定义变量 x, y, step. 其中 x, y, 表示 char g[10][10], 里的查找 数据位置。 step 就是步数。 
};
int dx[4] = {1, -1, 0, 0};//dx[] + dy[] 代表小人走的4个方向可达的点 
int dy[4] &

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值