#include<bits/stdc++.h>
const int maxn=105;
char c[maxn][maxn];
int i,j,n,m,ans,b[maxn][maxn],q[10]={-1,-1,-1,0,1,1,1,0},p[10]={-1,1,0,-1,-1,1,0,1};
void dfs(int x,int y){
if(x<1||x>n||y<1||y>m)return;
if(b[x][y]||c[x][y]=='*')return;
b[x][y]=1;
for(int k=0;k<8;k++)
dfs(x+q[k],y+p[k]);
}
int main(){
while(scanf("%d%d",&n,&m)){
if(n==0&&m==0)return 0;
for(i=1;i<=n;i++){
scanf("\n");
for(j=1;j<=m;j++)
scanf("%c",&c[i][j]);
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(c[i][j]=='@'&&b[i][j]==0){
dfs(i,j);
ans++;
}
printf("%d\n",ans);
ans=0;
memset(b,0,sizeof(b));
}
return 0;
}
UVA 572 Oil Deposits
最新推荐文章于 2021-05-26 22:19:09 发布