Lake Counting(bfs dfs)

题目描述

样例输入

10 12
W . . . . . . . . W W .
. W W W . . . . . W W W
. . . . W W . . . W W .
. . . . . . . . . W W .
. . . . . . . . . W . .
. . W . . . . . . W . .
. W . W . . . . . W W .
W . W . W . . . . . W .
. W . W . . . . . . W .
. . W . . . . . . . W .

样例输出

3

dfs代码

#include <stdio.h>//includes
#include <iostream>//up
using namespace std;//
int N, M;//定义行,列
char field[101][101];//整个院子(矩阵)
void dfs(int x,int y)//dfs
{field[x][y] = '.';//标为没有积水for (int dx = -1; dx <= 1; dx++)//枚举x坐标{//循环遍历8个方向for (int dy = -1; dy <= 1; dy++)//枚举x坐标{int nx = x + dx, ny = y + dy;//移动到遍历的方向if (0 <= nx && nx < N && 0 <= ny && ny < M&&field[nx][ny] == 'W')//判断是否穿墙 并且有积水dfs(nx, ny);//递归搜索下一个积水}}return;//退出
}void solve()//solve基本输入 调用函数
{int res = 0;//计数器for (int i = 0;i < N;i ++)//输入{for (int j = 0;j < M;j ++)//up{cin >> field[i][j];//up}}for (int i = 0; i < N; i++) //查找第一处积水{for (int j = 0; j < M; j++) //up{if (field[i][j] == 'W') //如果有积水{dfs(i, j);//调用函数递归查找所有节点res++;//计数器 + 1}}}printf("%d", res);//打印结果 Print res
}int main() //main
{scanf("%d%d", &N,&M);//输入行和列solve();//调用solve// system("pause");return 0;//return
}

转载于:https://www.cnblogs.com/LJA001162/p/11278259.html

c++ Lake Counting相关推荐

  1. DFS:深入优先搜索 POJ-2386 Lake Counting

    深度优先搜索是从最开始的状态出发,遍历所有可以到达的状态. 因此可以对所有的状态进行操作,或列举出所有的状态. Lake Counting POJ - 2386 Due to recent rains ...

  2. Lake Counting POJ - 2386

    Due to recent rains, water has pooled in various places in Farmer John's field, which is represented ...

  3. POJ 2386 Lake Counting

    链接:http://poj.org/problem?id=2386 Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submis ...

  4. 信息学奥赛一本通(1249:Lake Counting)

    1249:Lake Counting 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 9435     通过数: 4902 [题目描述] 题意:有一块N×M的土地, ...

  5. NUC1158 Lake Counting【DFS】

    Lake Counting 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 Due to recent rains, water has pooled ...

  6. bzoj 3385: [Usaco2004 Nov]Lake Counting 数池塘(DFS)

    3385: [Usaco2004 Nov]Lake Counting 数池塘 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 78  Solved: 6 ...

  7. Lake Counting S

    Lake Counting S- [P1596 [USACO10OCT]Lake Counting S] 题目分析:刚开始我一直看不懂题目的意思,经过朋友的解释后我忽然发现这就是一个连通块的题目,与染 ...

  8. poj 2386 Lake Counting

    poj   2386   Lake Counting                           题目链接:http://poj.org/problem?id=2386 题目大意:数湖. 题目 ...

  9. POJ 2386 Lake Counting [DFS]

    POJ 2386 Lake Counting 简单的DFS,用了stack代替递归,输入有问题,搞了蛮久,算法是没问题.所以以后一定要记得加上检查输入的那一步 然后对于点的定义以后就这么办吧 此外还有 ...

最新文章

  1. MinkowskiEngine多GPU训练
  2. Spring REST
  3. BugKuCTF WEB flag在index里
  4. boost::mpl::aux::msvc_is_class相关用法的测试程序
  5. 2021CCPC(桂林) - Suffix Automaton(后缀树+线段树)
  6. C和指针之Eratosthenes-埃拉托斯特尼筛方法找质数
  7. Div1 小A抓小B tarjan双连通分量缩点+dfs
  8. mysql my.cnf在哪里_my.cnf配置文件在哪
  9. python代码覆盖率测试_unittest+coverage单元测试代码覆盖操作实例详解_python
  10. jQuery 的“原型污染”安全漏洞
  11. VB.NET在线升级程序源代码,可以独立使用
  12. Python学习笔记(尚硅谷)——字符串
  13. 基于HTTP构建YUM网络源实战
  14. 数据库备份工具mysqldump重要参数详解
  15. 网络工程师之子网划分
  16. 如何引用阿里云矢量图标库
  17. 使用 Cloudflare 进行域名跳转(重定向)
  18. 九爷带你了解 深入理解 Memcache 原理
  19. 项目管理需要建立团队文化
  20. 基于云原生的私有化交付PAAS平台

热门文章

  1. 硬件MSB最高位优先、LSB最低位优先的CRC计算原理详细解释和程序,正算反算成功等效,DS18B20和HTU31D传感器CRC
  2. 向Hexo博客添加微博秀(pug模板)
  3. Qt qml 下使QtCharts
  4. freebsd MySQL 提权_Intel Sysret (CVE-2012-0217)内核提权漏洞
  5. iOS 真机调试 No profile for team xxxx matching xx found
  6. 江南游——苏州行(2)
  7. python选取特定行_pandas实现选取特定索引的行
  8. 一个铁通员工的自白:我们的效率为何最低
  9. perl linux yum,Linux CentOS6.5(x86_64)安装Perl5.26
  10. 如何解决网站首页老是被篡改经常反复被篡改