1241 ac
#include<bits/stdc .h> using namespace std; int m,n,ans,ax,ay; char str[110][110]; int z[8][2]={
{
-1,0},{
1,0},{
0,-1},{
0,1},{
1,1},{
-1,-1},{
1,-1},{
-1,1}}; void dfs(int a,int b){
if(a<0||a>=m||b<0||b>=n)return; str[a][b]='*'/span>; for(int i=0;i<8;i++){
int x=a+z[i][0]; int y=b+z[i][1]; if(str[x][y]=='@') dfs(x,y); } } int main(){
while(scanf("%d%d",&m,&n)){
if(m==0&&n==0)break; ans=0; for(int i=0;i<m;i++) scanf("%s",&str[i]); for(int i=0;i<m;i++) for(int j=0;j<n;j++) if(str[i][j]=='@'){
dfs(i,j); ans++; } printf("%d\n",ans); } return 0; }