大佬,求帮助
#include<bits/stdc++.h>
using namespace std;
int vis[101][101];
int BX[6] = {0,1,0,-1,0};
int BY[6] = {0,0,-1,0,1};
int tarelshy;
int n , m;
void bfs(int x,int y)
{
vis[x][y] = 0;
for(int i = 1;i <= 4;i ++)
{
int X = x + BX[i];
int Y = y + BY[i];
if(X >= 1 &&Y >= 1 && X<n && Y<m && vis[X][Y] != 0)
{
bfs(X,Y);
}
x = X - BX[i];
y = Y - BY[i];
}
return ;
}
int main()
{
cin >> n >> m;
for(int i = 1;i <= n;i ++)
{
for(int j = 1;j <= m;j ++)
{
scanf("%1d",&vis[i][j]);
}
}
for (int i = 1;i <= n;i ++)
{
for (int j=1;j <= m;j ++)
{
if (vis[i][j] == 0)
{
continue ;
}
bfs(i,j);
}
tarelshy++;
}
cout << tarelshy << endl;
return 0;
}