题解
2024-07-31 09:59:20
发布于:北京
8阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int o[1100][1101];
int n,m;int a[4][2]{{0,1},{1,0},{0,-1},{-1,0}};
void fs(int x,int y){
o[x][y]=0;
for(int i=0;i<4;i++){
int tx=x+a[i][0];
int ty=y+a[i][1];
if(tx<0||tx>=n||ty<0||ty>=m||o[tx][ty]==0){
continue;
}
fs(tx,ty);
}
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
char d;
cin>>d;o[i][j]=d-'0';
}
}
int u=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(o[i][j]!=0){
fs(i,j);
u++;
}
}
}
cout<<u;
return 0;
}
这里空空如也
有帮助,赞一个