广搜全wa样例1不过,求助!
查看原帖
广搜全wa样例1不过,求助!
752807
zhangduohan楼主2023/5/29 21:36
#include<bits/stdc++.h>
using namespace std;
int d[4][2]={-1,0,0,1,1,0,0,-1};
bool vis[510][510];
char o[510][510];
int n=0,m=0,cnt;
struct node{
	int x;
	int y;
};
queue<node> q;

void bfs(int x,int y){
		q.push({x,y});
		vis[x][y]=1;
	while(!q.empty()){
		node a=q.front();
		q.pop(); 
		o[a.x][a.y]='2';
		for(int i=0;i<4;i++){
			int dx=a.x+d[i][0];
			int dy=a.y+d[i][1];
			if(o[dx][dy]!='*'&&vis[dx][dy]==0&&dx<=x+1&&dy<=y+1&&dx>=0&&dy>=0){
				vis[dx][dy]=1;
				q.push({dx,dy});
			}
		}
	}

}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>o[i][j];
		}
	}
	bfs(0,0);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(o[i][j]=='0') cnt++;
		}
	}
	cout<<cnt;

	return 0;
}

这是全部代码,不知道为什么这道题就死活找不出问题

2023/5/29 21:36
加载中...