hdu 1241

来源:互联网 发布:数据评估方法 编辑:程序博客网 时间:2024/05/17 04:12

这是一道深搜的题   记住基本步骤之后就比较简单了       抓住一条线不停地向深处搜索直到不能搜索为止      

# include <stdio.h>char map[150][150];int m,n;void dfs(int x,int y){int xx,yy;int i,j;for(i=-1;i<2;i++)for(j=-1;j<2;j++){xx=x+i;yy=y+j;if(xx<0||xx>=m||yy<0||yy>=n||map[xx][yy]!='@')continue;else{map[xx][yy]='1';dfs(xx,yy);}}return ;}int main  (){int count;int i,j;while(scanf("%d %d",&m,&n)!=EOF){if(0==m&&0==n)break;count=0;for(i=0;i<m;i++){scanf("%s",map[i]);}for(i=0;i<m;i++)for(j=0;j<n;j++){if(map[i][j]=='@'){dfs(i,j);count++;}}printf("%d\n",count);}return 0;}