题目链接

解题思路

1.深搜或者广搜
2.并查集

版本2

这是挑战编程竞赛里的版本,如果数据范围较大,需要使用BFS

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int N = 1005;
char g[N][N];
int n, m;int ans = 0;
void dfs(int u, int v){g[u][v] = '.';for(int i = -1; i <= 1; i++ )for(int j = -1; j <= 1; j++){int a = u+i, b = v+j;if(a>=0&&a<n&&b>=0&&b<m&&g[a][b]=='W')  dfs(a, b);}
}
int main(){scanf("%d%d", &n, &m);for(int i = 0; i < n; i++){scanf("%s", g[i]);}for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){if(g[i][j]=='W') {ans++;dfs(i, j);}}}printf("%d\n", ans);return 0;
}

版本1

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
using namespace std;
char arr[105][105];
int x,y;void dfs(int u,int v){if(u<0||u>=x||v<0||v>=y||arr[u][v]=='.') return; //这里要先判断越界与否再判断是否为0arr[u][v]='.';for(int i=-1;i<2;i++){for(int j=-1;j<2;j++){if(i==0&&j==0) continue; else dfs(u+i,v+j);}}
}
int main(){cin>>x>>y;for(int i=0;i<x;i++){for(int j=0;j<y;j++){cin>>arr[i][j];}}int count=0;for(int i=0;i<x;i++){for(int j=0;j<y;j++){if(arr[i][j]=='W'){count++;dfs(i,j);}}}cout<<count<<endl;return 0;
}

Lake Counting【POJ2386】相关推荐

  1. NUC1158 Lake Counting【DFS】

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

  2. Openjudge1388 Lake Counting【DFS/Flood Fill】

    http://blog.csdn.net/c20182030/article/details/52327948 1388:Lake Counting 总时间限制:  1000ms  内存限制:  65 ...

  3. 【POJ2386】Lake Counting

    problem solution codes //DFS 求通块 #include<iostream> #include<string> using namespace std ...

  4. Triangle Counting【数学】

    Triangle Counting UVA - 11401 题目传送门 题目大意:输入一个整数n,求在1到n中选取三条边能够组成多少种三角形. AC代码: #include <cstdio> ...

  5. CF990G-GCD Counting【dfs】

    正题 题目链接:https://www.luogu.com.cn/problem/CF990G 题目大意 给出一棵有点权的树,对于每个kkk求有多条路径的点权gcdgcdgcd为kkk 1≤n≤2×1 ...

  6. POJ No.2386【B007】

    [B007]Lake Counting[难度B]------------------------------------------ [Description] Due to recent rains ...

  7. 【概率论】1-2:计数方法(Counting Methods)

    title: [概率论]1-2:计数方法(Counting Methods) categories: Mathematic Probability keywords: Counting Methods ...

  8. 【SGU】117. Counting 快速幂

    传送门:[SGU]117. Counting 题目分析:快速幂对k取模,结果为0则ans++. 代码如下: #include <map> #include <vector> # ...

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

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

最新文章

  1. 大话软件测试与职业生涯
  2. Java并发编程-volatile
  3. 关于更改MYECLIPSE JS 代码背景颜色
  4. Mysql的“Table ‘mysql.servers‘ doesn‘t exist”的解决方法
  5. 如何以及为什么序列化Lambda
  6. 在c++中一个空类占用的字节数
  7. 时间转换python_Python 日期与时间转换的方法
  8. IE浏览器无法打开的解决方案
  9. 五个免费国外流量统计工具
  10. 《深入理解JVM虚拟机》读书笔记(一)
  11. 夜神无限检查服务器新版本,夜神模拟器电脑最新版
  12. W型加密栅栏密码解密
  13. Python识别图片中的文字
  14. 【深度学习】猫狗识别TensorFlow2实验报告
  15. 【良心推荐两款软件】eDiary记笔记软件+截图识别文字软件
  16. python labelImg xml 格式的数据集解析及可视化
  17. asterisk服务器搭建 入门教程
  18. JS基础第四课、JQ基础第一课(BOM、JQuery框架)
  19. 车载毫米波雷达测试(1)_关于雷达的目标检测性能测试与雷达模拟器
  20. 物联网的云计算、雾计算、边缘计算和MIST计算的基本概念

热门文章

  1. sd卡数据怎么恢复?
  2. python3 [爬虫入门实战]scrapy爬取盘多多五百万数据并存mongoDB
  3. TikTok Shop如何入驻和如何批量上货
  4. 【汇正财经】成长投入策略有哪些类型?
  5. Android讯飞普通话测试,讯飞普通话模拟测试与学习系统
  6. 2020中国计算机技术大会,中国多媒体大会2020
  7. leaflet加载Geoq智图,4种形式切换(示例代码033)
  8. winpe 2.0与windows AIK的纠葛
  9. 七月就业班强势来袭~
  10. 机器学习基础(一):简介