#include<iostream> #include<cstring> using namespace std; int a[105][105]; int d[8][2]={0,1,0,-1,1,0,-1,0,-1,-1,-1,1,1,-1,1,1}; //八个方向!方向向量。 void dfs(int x,int y) { a[x][y]=-1; //相连的无效 for(int i=0;i<8;i++) { if(a[x+d[i][0]][y+d[i][1]]==1) dfs(x+d[i][0],y+d[i][1]); //继续搜索 } } int main() { int n,m; while(cin>>n>>m&&(n||m)) { memset(a,0,sizeof(a)); //拓广边界 int i,j; char x; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { cin>>x; if(x=='@')a[i][j]=1; } int count=0; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { if(a[i][j]==1) { count++; dfs(i,j); } } cout<<count<<endl; } return 0; }