qwq浅浅的看一看吧
#include<iostream>
#include<windows.h>
using namespace std;
int n,m;
int s[105][105];
int num=0;
void dfs(int i,int j);
int main()
{
system("pause"); // 程序
for(int i=0;i<=100;i++) //1
for(int j=0;i<=100;j++) //
s[i][j]=0; //
system("pause");
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>s[i][j];
//system("pause");
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(s[i][j]!=0)
{
num++;
dfs(i,j);
}
//system("pause");
cout<<num;
return 0;
}
void dfs(int i,int j)
{
if(s[i][j]!=0)
{
s[i][j]=0;
if(i!=1)
dfs(i-1,j);
if(i!=n)
dfs(i+1,j);
if(j!=1)
dfs(i,j-1);
if(j!=n)
dfs(i,j+1);
}
}