#include<bits/stdc++.h>
using namespace std;
int a[22][22],sum=0,w,h;
void dfs(int x,int y){
	sum++;
	a[x][y]=0;
	if(a[x+1][y]) dfs(x+1,y);
	if(a[x-1][y]) dfs(x-1,y);
	if(a[x][y+1]) dfs(x,y+1);
	if(a[x][y-1]) dfs(x,y-1);
}
int main(){
	int x,y;
	char a1;
	while(cin>>w>>h&&!(w==0&&h==0)){
		sum=0;
		memset(a,0,sizeof(a));
		for(int i=1;i<=h;i++)
			for(int j=1;j<=w;j++){
				cin>>a1;
				if(a1=='.'||a1=='@')a[i][j]=1;
				if(a1=='@'){
					x=i;
					y=j;
				}
			}
		dfs(x,y);
		cout<<sum<<endl;
	}
	return 0;
}

0 条评论

目前还没有评论...

信息

ID
217
时间
1000ms
内存
256MiB
难度
8
标签
(无)
递交数
49
已通过
6
上传者