小墨在努力!!
吗了个b的。。。。。

#include <stdio.h>
#include <string.h>
char visit[20][20];
int count,m,n;
void dfs(int x,int y)
{
     count++;
     visit[x][y]='#';
     if(x!=0&&visit[x-1][y]=='.')dfs(x-1,y);
     if(x!=n-1&&visit[x+1][y]=='.')dfs(x+1,y);
     if(y!=0&&visit[x][y-1]=='.')dfs(x,y-1);
     if(y!=m-1&&visit[x][y+1]=='.')dfs(x,y+1);
     return ;
}
int main()
{
    int x,y;
    while(scanf("%d%d",&m,&n)&&(m!=0||n!=0))
    {
          count=0;
          memset(visit,'#',400);
          for(int i=0;i<n;i++)                                 
          for(int j=0;j<m;j++)
          {            
                scanf(" %c",&visit[i][j]);
                if(visit[i][j]=='@')
                {
                     x=i;
                     y=j;               
                }
          }
          dfs(x,y);
          printf("%d\n",count);                                                                
    }
    return 0;
}

搜索,没什么难度!!!细心点就能过

posted on 2011-10-23 11:30  小墨在努力!!  阅读(171)  评论(0编辑  收藏  举报