全WA大佬求助
查看原帖
全WA大佬求助
1272609
ericdan666楼主2024/8/12 19:44
#include<bits/stdc++.h>
using namespace std;
const long long N=505;
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
int n,m,cnt=0;
int a[N][N];
char e[N][N];
bool vis[N][N];
void bfs(int x,int y){
	if(x==0||y==0||x==n+1||y==m+1||a[x][y]==1) return;
	if(a[x][y]==0&&vis[x][y]==0){
		vis[x][y]=1;
		for(int i=0;i<4;i++) bfs(x+dx[i],y+dy[i]);
	} 
}
int main(void){
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)
	for(int j=1;j<=m;j++){
		cin>>e[i][j];
		if(e[i][j]=='*') a[i][j]=1;
		else a[i][j]=0;	
	}
bfs(n,m);
for(int i=1;i<=n;i++){
	for(int j=1;j<=m;j++) if(vis[i][j]==0&&e[i][j]=='0') cnt++;
}
cout<<cnt;
return 0;
}
2024/8/12 19:44
加载中...