求调!
查看原帖
求调!
652816
saixingzhe楼主2022/10/7 18:58
#include<bits/stdc++.h>
using namespace std;
int n,m,a[102][102],ans,visit[102][102],d[4][2]={0,1,1,0,-1,0,0,-1};
char s;
struct Node{
	int x,y;
};
queue <Node> q;
int bfs(int i,int j){
	visit[i][j]=1;
	q.push({i,j});
	while(!q.empty()){
		Node f=q.front();
		q.pop();
		visit[f.x][f.y]=1;
		for(int i=0;i<4;i++){
			int xx=f.x+d[i][0],yy=f.y+d[i][1];
			if(a[xx][yy]&&!visit[xx][yy])	q.push({xx,yy});
		}
	}

}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)	for(int j=1;j<=m;j++)	cin>>s,a[i][j]=s-'0';
	for(int i=1;i<=n;i++)	for(int j=1;j<=m;j++)	if(!visit[i][j]&&a[i][j])	ans++;
	printf("%d",ans);
	return 0;
}
2022/10/7 18:58
加载中...