简单深搜 lake counting
来源:互联网 发布:centos 7安装snmp服务 编辑:程序博客网 时间:2024/06/08 03:50
有一个大小M×N的园子,雨后积起了水。求院子内有多少水洼?
W表示积水。
在以 ’ W ‘ 为中心的九宫格内有另一 ’ W ‘ 即视为相连。
For example:
Input:
12 10
W........WW.
.WWW.....WWW
....WW...WW.
.........WW.
.........W..
..W......W..
.W.W.....WW.
W.W.W.....W.
.W.W......W.
..W.......W.
Output:
3
这道题用深搜即可。
#include<cstdio>bool successed(char map[101][101], int m, int n, int&i, int&j);void dfs(char map[101][101], int m, int n, int i, int j);int main(){char map[101][101];int m, n, i, j, num;while (scanf("%d %d", &m, &n) != EOF){num = 0;for (i = 0; i < m; i++)scanf("%s", &map[i]);i=0,j=0;while (!successed(map, m, n, i, j)) //当map内没有‘W’时判断搜索完毕{dfs(map, m, n, i, j);num++; //记录搜索次数}printf("%d\n", num);}return 0;}void dfs(char map[101][101], int m, int n, int i, int j) //深搜{map[i][j] = '.'; //本位先置‘.’if (i<n - 1 && map[i + 1][j] == 'W') //搜索相邻位置dfs(map, m, n, i + 1, j);if (i>0 && map[i - 1][j] == 'W')dfs(map, m, n, i - 1, j);if (j<m - 1 && map[i][j + 1] == 'W')dfs(map, m, n, i, j + 1);if (j>0 && map[i][j - 1] == 'W')dfs(map, m, n, i, j - 1);if (i<n - 1 && j<m - 1 && map[i + 1][j + 1] == 'W')dfs(map, m, n, i + 1, j + 1);if (i>0 && j>0 && map[i - 1][j - 1] == 'W')dfs(map, m, n, i - 1, j - 1);if (i<n - 1 && j>0 && map[i + 1][j - 1] == 'W')dfs(map, m, n, i + 1, j - 1);if (i>0 && j<m - 1 && map[i - 1][j + 1] == 'W')dfs(map, m, n, i - 1, j + 1);}bool successed(char map[101][101], int m, int n, int&i, int&j){for (i; i<n; i++) //搜索‘W’for (j=0; j<m;j++)if (map[i][j] != '.')return false;return true;}
0 0
- 简单深搜 lake counting
- poj 2386 Lake Counting 简单深搜
- Lake Counting (简单深搜)积水问题
- POJ2386 Lake Counting简单dfs
- poj2386 Lake Counting(简单DFS)
- POJ lake counting(简单的dfs)
- POJ 2386 Lake Counting(简单dfs)
- 【POJ2386】Lake Counting(深搜与广搜)
- Lake Counting -poj2386-深搜或者广搜
- Lake Counting
- Lake Counting
- Lake Counting
- Lake Counting
- Lake Counting
- lake counting
- Lake Counting
- Lake Counting
- Lake Counting
- Hadoop 1.x 下载、安装
- @JsonView 简单介绍
- cisco vpn 32bit&64bit for win7
- AspectJ切入点语法详解
- lua c closure的使用
- 简单深搜 lake counting
- extend 方法在js框架中的设计
- Opencv视频某一目标点坐标标定
- 中间语言和虚拟机漫谈
- 检测Linux内存使用情况的free命令的10个
- 倒计时持续震动,结束时停止震动 iOS
- web.py框架之db模块操作
- 编译原理 第一章 总论
- Linux下挂载/卸载光盘