@[PHX_2012ya](/user/1056284)
你看一下我的,参考一下,改改吧!
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,m,ans=0;
char num[101][101];
int dis[101][101]={};
void dfs(int x,int y)
{
if (x<1||x>n||y<1||y>m||dis[x][y]==1||num[x][y]=='0') return ;
dis[x][y]=1;
dfs(x+1,y);
dfs(x-1,y);
dfs(x,y+1);
dfs(x,y-1);
return ;
}
int main()
{
cin>>n>>m;
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
cin>>num[i][j];
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
{
if (num[i][j]!='0'&&dis[i][j]!=1)
{
ans+=1;
dfs(i,j);
}
}
cout<<ans;
}
```
by xiaohuanxiong @ 2024-04-28 20:35:02