ck blyt
2024-07-14 17:46:49
发布于:广东
23阅读
0回复
0点赞
没那么恶心的题解
#include<bits/stdc++.h>
using namespace std;
char a[114][514];
int n,m;
int dx[114]={0,0,-1,1};
int dy[114]={1,-1,0,0};
int pit=0;
void flood(int x,int y){
if(a[x][y]=='0' or x<0 or x>=n or y<0 or y>=m){
return;
}
a[x][y]='0';
for(int i=0;i<4;i++){
flood(x+dx[i],y+dy[i]);
}
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i][j]!='0'){
pit++;
flood(i,j);
}
}
}
cout<<pit;
return 0;
}
这里空空如也
有帮助,赞一个