1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 using namespace std; 5 char map[110][110]; 6 int vis[110][110]; 7 int sum,n,m; 8 int dfs(int x,int y) 9 { 10 int u[][2]={-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,1}; 11 int tx,ty,i,j; 12 for(i=0;i<8;i++) 13 { 14 tx=x+u[i][0]; 15 ty=y+u[i][1]; 16 if(tx>=0&&tx<n&&ty>=0&&ty<m&&map[tx][ty]=='@') 17 { 18 map[tx][ty]='.'; 19 dfs(tx,ty); 20 } 21 } 22 } 23 int main() 24 { 25 int i,j; 26 while(cin>>n>>m&&n&&m) 27 { 28 sum=0; 29 memset(map,'.',sizeof(map)); 30 for(i=0;i<n;i++) 31 { 32 for(j=0;j<m;j++) 33 cin>>map[i][j]; 34 getchar(); 35 } 36 for(int k=0;k<n;k++) 37 { 38 for(int h=0;h<m;h++) 39 if(map[k][h]=='@') 40 { 41 map[k][h]='.'; 42 dfs(k,h); 43 sum++; 44 } 45 } 46 cout<<sum<<endl; 47 } 48 }