#include<cstdio>
char a[][];
int m,n,dir[][]={{,},{,-},{,},{-,},{,},{,-},{-,},{-,-}},cnt;
void dfs(int x,int y)
{
a[x][y]='*';
for(int i=;i<;i++)
{
if(x+dir[i][]<||x+dir[i][]>=m||y+dir[i][]<||y+dir[i][]>=n)
continue;
if(a[x+dir[i][]][y+dir[i][]]=='@')
dfs(x+dir[i][],y+dir[i][]);
}
}
int main()
{
while(scanf("%d%d",&m,&n))
{
cnt=;
if(m==)
break;
for(int i=;i<m;i++)
{
scanf("%s",a[i]);
}
for(int i=;i<m;i++)
{
for(int j=;j<n;j++)
{
if(a[i][j]=='@')
{
cnt++;
dfs(i,j);
}
}
}
printf("%d\n",cnt);
}
}
相关文章
- (DFS)hdoj1241-Oil Deposit
- 邻接矩阵实现图的存储,DFS,BFS遍历
- CDOJ 483 Data Structure Problem DFS
- CodeForces 681D Gifts by the List (树上DFS)
- CodeForces 489C Given Length and Sum of Digits... (dfs)
- 深度优先搜索(DFS)与广度优先搜索(BFS)的Java实现
- 【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)
- 洛谷P3178 [HAOI2015]树上操作(dfs序+线段树)
- 【BZOJ-3252】攻略 DFS序 + 线段树 + 贪心
- BZOJ4551[Tjoi2016&Heoi2016]树——dfs序+线段树/树链剖分+线段树