- C24zhengfujia's blog
D F S
- @ 2024-12-17 19:56:23
#include<cstdio>
int m,n,cnt;
bool cells[102][102]={};
char temp;
void dfs(int x,int y)
{
if(cells[x][y]==0||x<1||y<1||x>n||y>m) return;
//{
cells[x][y]=0;
dfs(x-1,y);
dfs(x,y-1);
dfs(x+1,y);
dfs(x,y+1);
//}
}
int main(void)
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
temp=getchar(),cells[i][j]=(temp=='0'?false:true);
getchar();
}
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
if(cells[i][j])
{
cnt++;
dfs(i,j);
}
printf("%d",cnt);
return 0;
}