HDU-1241-Oil Deposits
来源:互联网 发布:行情分析软件 编辑:程序博客网 时间:2024/06/01 07:53
HDU-1241-Oil Deposits
题目链接:HDU-1241
题目思路:在一个矩阵里,有些格子是‘@’,有些不是,相邻(上、下、左、右、左上、右上、左下、右下)的格子如果也是‘@’,那么他们属于同一个矿井,问总共有多少个矿井。
题目思路:DFS,求连通块个数。
以下是代码:
#include <vector>#include <map>#include <set>#include <algorithm>#include <iostream>#include <cstdio>#include <cmath>#include <cstdlib>#include <string>#include <cstring>using namespace std;string s[101];int vis[105][105];int flag = 0;int m,n;void dfs(int c,int r){ if (c >= m || c < 0 || r >= n || r < 0) return; if (vis[c][r] || s[c][r] != '@') return; vis[c][r] = 1; if (s[c][r] == '@') flag = 1; for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { if (i == 0 && j == 0) continue; dfs(c + i,r + j); } }}int main(){ while(cin >> m >> n) { if (m == 0 && n == 0) break; for (int i = 0; i < m; i++) { cin >> s[i]; } int ans = 0; memset(vis,0,sizeof(vis)); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (s[i][j] == '@') { dfs(i,j); if (flag) ans++; flag = 0; } } } cout << ans << endl; } return 0;}
0 0
- HDU 1241Oil Deposits
- HDU---1241Oil Deposits
- Hdu 1241 Oil Deposits
- Hdu 1241 - Oil Deposits
- HDU-1241:Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu - 1241 - Oil Deposits
- HDU-1241Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- HDU 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- HDU 1241 Oil Deposits
- hdu-1241-Oil Deposits
- hdu 1241 Oil Deposits
- 怎样写出无法维护的代码
- hdu oj题分类
- HTML5中div section article的区别
- Codeforces Round #346 (Div. 2)E. New Reform 乱搞dfs
- WebView
- HDU-1241-Oil Deposits
- Windows批处理(cmd/bat)常用命令小结
- 各种正则表达式验证
- HDU-1312-Red and Black
- 获取SD卡中的音乐文件
- ajax
- 课程练习一Problem M
- 从头学习JAVA(三)
- 安妮花儿童阅读馆