AKSZ-bfs
2024-05-19 17:28:41
发布于:广东
广搜
直接模板
#include<bits/stdc++.h>
using namespace std;
const int maxn = 45;
int n,m,x,y,a;
int s[maxn][maxn];
int dx[] = {-1,0,1,0};
int dy[] = {0,-1,0,1};
int vis[maxn][maxn];
//状态 ,在哪个点,目前使用step步数
//结构体的定义状态
struct node{
int x,y;//目前在(x,y)点
int step;//目前使用step步数
};
void bfs(){
//先让出发点入队
//维护一个队列 ->扩展状态
queue<node> q;//状态队列
q.push(node{1,1,0});
vis[1][1] = 1;
while(!q.empty()){//队列非空
node tmp = q.front();
q.pop();
for(int i=0;i<4;i++){
int tx=tmp.x + dx[i];
int ty=tmp.y + dy[i];
if(tx <= 0 || tx > n || ty < 0 || ty > m)
continue;
if(vis[tx][ty])continue;
if(s[tx][ty] == '#')continue;
vis[tx][ty]= 1;
q.push(node{tx,ty,tmp.step+1});
}
}
//如果找不到最短路的处理
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>s[i][j];
}
}
cin>>x>>y>>a;
int k=s[x][y];
return 0;
}
全部评论 2
没调用,令人忍俊不禁
2024-05-23 来自 广东
0你模板BFS函数没调用
2024-05-22 来自 广东
0
有帮助,赞一个