Oil Deposits HDU
来源:互联网 发布:深圳市市政院 知乎 编辑:程序博客网 时间:2024/06/06 02:41
通过DFS或者BFS分块,求有几块区域,需要注意的是与当前点相邻的有 上下左右 左上左下 右上右下 八个,其他的都没什么难度
//leehaoze#include <iostream>#include <deque>#include <string>#include <vector>#include <queue>#include <cstdio>#include <stack>#include <algorithm>#include <cstring>#include <cctype>#include <cstdio>#include <cmath>#include <cstdlib>using namespace std;const int INF = 1<<29;#define INC_SAT( val ) (val = ((val)+1 > (val)) ? (val)+1 : (val))#define ARR_SIZE( a ) ( sizeof( (a) ) / sizeof( (a[0]) ) )#define ULL unsigned long long#define MAXN (100 + 5)struct Point{ Point(int x,int y):x_(x),y_(y){} int x_,y_;};int Move_X[] = {0, 0, 1,-1,-1,-1, 1, 1};int Move_Y[] = {1,-1, 0, 0,-1, 1,-1, 1};char map[MAXN][MAXN];bool visit[MAXN][MAXN];int m,n;bool Input(){ cin >> m >> n; if(m == 0 && n == 0)return false; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cin >> map[i][j]; visit[i][j] = false; } } return true;}bool Legal(int dx,int dy){ return dx >= 0 && dx < m && dy >= 0 && dy < n && !visit[dx][dy] && map[dx][dy] == '@';}void DFS(Point start){ for (int i = 0; i < 8; ++i) { int dx = start.x_ + Move_X[i]; int dy = start.y_ + Move_Y[i]; if(Legal(dx,dy)){ visit[dx][dy] = true; DFS(Point(dx,dy)); } }}int main() {#ifdef LOCAL freopen("IN.txt", "r", stdin);#endif std::ios::sync_with_stdio(false); while(Input()){ int ans = 0; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { if(map[i][j] == '@' && !visit[i][j]){ DFS(Point(i,j)); ++ans; } } } cout << ans << endl; }}
0 0
- HDU 1241Oil Deposits
- HDU---1241Oil Deposits
- HDU-1244-Oil Deposits
- Hdu 1241 Oil Deposits
- Hdu 1241 - Oil Deposits
- HDU-1241:Oil Deposits
- HDU 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
- SSM框架——实现分页和搜索分页
- [BZOJ3235][Ahoi2013]好方的蛇(单调栈+容斥原理)
- SSM框架——以注解形式实现事务管理
- Qt/QML 窗口阴影边框实现
- 【CodeForces】484E Sign on Fence
- Oil Deposits HDU
- 再写dll 关于declspec(dllexport)和declspec(dllimport)
- c语言中的main函数讨论
- local response normalization/batch normalization
- 输入一个数对应二进制下遇到的问题归纳
- Oracle 常用性能监控SQL语句
- 洛谷 P1177 【模板】快速排序
- A. Year of University Entrance
- POJ 2106-Boolean Expressions,双栈运用类似表达式求值!