标签:input led dia logs rect quit eth osi problem
Input
Output
Sample Input
1 1 * 3 5 *@*@* **@** *@*@* 1 8 @@****@* 5 5 ****@ *@@*@ *@**@ @@@*@ @@**@ 0 0
Sample Output
0 1 2 2
搜索水题。枚举每个起始点,向外扩展与他相邻的点。起始点的个数即为连通块个数。
#include<stdio.h> char a[105][105]; int c,n,m; void dfs(int x,int y){ if(x<0||y<0||x>=n||y>=m) return; if(a[x][y]==‘*‘) return; if(a[x][y]==‘@‘){ a[x][y]=‘*‘; dfs(x+1,y); dfs(x+1,y+1); dfs(x,y+1); dfs(x-1,y+1); dfs(x-1,y); dfs(x-1,y-1); dfs(x,y-1); dfs(x+1,y-1); } } int main() { int i,j; while(scanf("%d%d",&n,&m)&&!(n==0&&m==0)){ c=0; for(i=0;i<n;i++){ getchar(); scanf("%s",a[i]); } for(i=0;i<n;i++){ for(j=0;j<m;j++){ if(a[i][j]==‘@‘){ c++; dfs(i,j); } } } printf("%d\n",c); } return 0; }
Oil Deposits DFS FloodFill漫水填充法求连通块问题
标签:input led dia logs rect quit eth osi problem
原文地址:http://www.cnblogs.com/yzm10/p/7230841.html