主诉:
8
诉求:
在源代码上改是最好啦!
回复请@楼主
code:
#include<bits/stdc++.h>
using namespace std;
// #define int long long
#define scnaf scanf
#define itn int
int n,m;
itn ans;
bool x[105][105];
int dx[8]={-1,-1,0,1,1,1,0,-1};
int dy[8]={0,1,1,1,0,-1,-1,-1};
char ch;
bool check(int xx,int yy)
{
if(xx<1 || xx>n || yy<1 || yy>m || !x[xx][yy])
return 0;
else
return 1;
}
void dfs(itn xx,int yy)
{
for(int i=0;i<8;i++)
{
x[xx][yy]=0;
int dxx=xx+dx[i],dyy=yy+dy[i];
if(check(dxx,dyy))
dfs(dxx,dyy);
}
return ;
}
signed main()
{
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
ch=getchar();
if(ch=='W')
x[i][j]=1;
else if(ch=='.')
x[i][j]=0;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(x[i][j])
{
dfs(i,j);
ans++;
}
}
}
printf("%d",ans);
return 0;
}