#include <stdio.h>
char map[101][101];
int dx[8]={-1,-1,-1,0,0,1,1,1};
int dy[8]={-1,0,1,-1,1,-1,0,1};
int n, m;
void dfs(int x, int y)
{
int i, j;
int rx, ry;
map[x][y]='.';
for(i=0; i<8; i++)
{
for(j=1; j<8; j++)
{
rx=x+dx[i];
ry=y+dy[j];
if(rx>0&&rx<=n&&ry>0&&ry<=m&&map[rx][ry]=='W')
{
dfs(rx,ry);
}
}
}
return ;
}
int main()
{
while(~scanf("%d%d",&n,&m))
{
int i, j, res=0;
for(i=1; i<=n; i++)
{
getchar();
for(j=1; j<=m; j++)
{
scanf("%c",&map[i][j]);
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
if(map[i][j]=='W')
{
res++;
dfs(i,j);
}
}
}
printf("%d\n", res);
}
return 0;
}
07-21
07-21
07-21
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交