6 9 ....#. .....# ...... ...... ...... ...... ...... #@...# .#..#. 11 9 .#......... .#.#######. .#.#.....#. .#.#.###.#. .#.#..@#.#. .#.#####.#. .#.......#. .#########. ........... 11 6 ..#..#..#.. ..#..#..#.. ..#..#..### ..#..#..#@. ..#..#..#.. ..#..#..#.. 7 7 ..#.#.. ..#.#.. ###.### ...@... ###.### ..#.#.. ..#.#.. 0 0
Sample Output
45 59 6 13
#include<string.h>
int m,n;
char a[100][100];
int aa[100][100];
void DFS(int x,int y)
{
if(x>=0&&y>=0&&x<m&&y<n)
{
if(a[x][y]=='.'&&!aa[x][y])
{
aa[x][y]=1;
DFS(x,y-1);
DFS(x,y+1);
DFS(x+1,y);
DFS(x-1,y);
}
}
}
int main()
{
int x,y,k,q,i,j;
while(scanf("%d%d",&n,&m)!=EOF,m||n)
{
k=0;
memset(aa,0,sizeof(aa));
getchar();
for(x=0; x<m; x++)
{
for(y=0; y<n; y++)
{
scanf("%c",&a[x][y]);
if(a[x][y]=='@')
{
i=x;
j=y;
}
}
getchar();
}
a[i][j]='.';
DFS(i,j);
int sum=0;
for(x=0; x<m; x++)
for(y=0; y<n; y++)
sum+=aa[x][y];
printf("%d\n",sum);
}
return 0;
}
看' . '的个数