油田问题 UVA 572
来源:互联网 发布:cmm软件内涵 编辑:程序博客网 时间:2024/05/06 04:06
多组案例,每组案例输入一个m行n列的字符矩阵,统计字符'@'组成多少个连通块。如果两个字符'@'所在的格子相邻(横、竖或对角线),则说明它们属于同一连通块。
案例:
Sample Input
1 1
*
3 5
*@*@*
**@**
*@*@*
1 8
@@****@*
5 5
****@
*@@*@
*@**@
@@@*@
@@**@
0 0
Sample Output
0
1
2
2
//#include<bits/stdc++.h>#include<iostream>#include<string>#include<algorithm>#include<cstring>#include<cstdio>typedef long long ll;using namespace std;int m,n;char a[100][100];int jud[100][100];void dfs(int x,int y){ if(jud[x][y]==1||a[x][y]!='@') return; if(x<0||x>=m||y>=n||y<0) return; ++jud[x][y]; for(int i=-1;i<=1;++i) { for(int j=-1;j<=1;++j) { if(i!=0||j!=0) dfs(x+i,y+j); } }}int main(){ while(cin>>m>>n) { if(m==0&&n==0) break; int sum=0; getchar(); memset(jud,0,sizeof(jud)); for(int i=0;i<m;++i) { for(int j=0;j<n;++j) { cin>>a[i][j]; if(j==n-1) getchar(); } } for(int i=0;i<m;++i) for(int j=0;j<n;++j) if(jud[i][j]==0&&a[i][j]=='@') { ++sum; dfs(i,j); } cout<<sum<<endl; } return 0;}
阅读全文
0 0
- 油田问题 UVA 572
- 油田问题 UVA 572
- UVa 572 油田
- UVa-572油田
- 油田UVA 572
- uva 572 油田
- 例题:油田(UVa 572)
- UVA 572 油田(BFS)
- [UVa]572 油田 Oil Deposits
- UVA-6.4.1-油田-572-DFS
- 油田(Oil Deposits,UVa 572)
- 油田问题 。
- 油田问题
- 油田问题
- uva 572 Oil Deposits(油田)—— DFS
- 例题6-12 油田(Oil Deposits, UVa 572)
- Uva 572 Oil Deposits 油田 (DFS求连通块)
- 油田问题(dfs)
- Sass and Compass in Action.pdf 英文原版 免费下载
- HEVC代码学习32:getInterMergeCandidates函数
- upLoadFileTest
- Android framework学习笔记 -- 原生分屏原理
- UVA 11889 Benefit——gcd
- 油田问题 UVA 572
- 类的构造函数、拷贝构造函数、赋值函数、析构函数,分别在何时调用。
- 一张图读懂 Java 多线程
- Java ImageIO图片操作
- 自制嵌入式GUI-基于freeRTOS
- 分类决策树的理解
- 安卓黑马教学(三)
- 软件测试--测试场景
- 计算机网路分层