#include<bits/stdc++.h> using namespace std; int a[105][105]; int vis[105][105]; int dx[10]={0,1,0,-1,0}; int dy[10]={0,0,1,0,-1}; int n,m; void dfs(int x,int y){ vis[x][y]=1; int nx,ny; for(int i=1;i<=4;i++){ nx=x+dx[i]; ny=y+dy[i]; if(a[nx][ny] != 0 && vis[nx][ny]==0){ nx=x+dx[i]; ny=y+dy[i]; if(a[nx][ny] != 0 && vis[nx][ny]==0){ dfs(nx,ny); } } } } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ scanf("%1d",&a[i][j]); } } int ans=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j] != 0 && vis[i][j]==0){ dfs(i,j); ans++; } } }cout<<ans<<endl; return 0; }

0 条评论

目前还没有评论...