【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(7)
创始人
2025-06-01 08:43:58
0

目录

写在前面:

题目:P1596 [USACO10OCT]Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目描述:

输入格式:

输出格式:

输入样例:

输出样例:

解题思路:

代码:

AC !!!!!!!!!!

写在最后:


写在前面:

怎么样才能学好一个算法?

我个人认为,系统性的刷题尤为重要,

所以,为了学好深度优先搜索,为了用好暴搜应对蓝桥杯,

事不宜迟,我们即刻开始刷题!

题目:P1596 [USACO10OCT]Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目描述:

输入格式:

输入第 11 行:两个空格隔开的整数:N 和 M。

第 22 行到第 N + 1 行:每行 M 个字符,每个字符是 W 或 .

它们表示网格图中的一排。字符之间没有空格。

输出格式:

输出一行,表示水坑的数量。

输入样例:

10 12
W........WW.
.WWW.....WWW
....WW...WW.
.........WW.
.........W..
..W......W..
.W.W.....WW.
W.W.W.....W.
.W.W......W.
..W.......W.

输出样例:

3

解题思路:

我们使用深度优先搜索的时候,

第一个要注意的点是搜索的顺序,

因为我们要保证,

我们写出的递归结构能够遍历所有情况。

(以上递归搜索的基本思路,多熟悉总是好的)

 接下来是具体思路

1. 遍历整个地图,只要遇到W就开始搜索,

2. 根据题目要求,雨水会从八个方向往外流,那就搜索八个方向,

继续搜索:

3. 被搜索过的地方就标记一下,防止重复搜索,

4. 搜索完一块区域就继续遍历找W,以此类推,返回水坑数量即可。

下面是代码实现: 

代码:

//包常用头文件
#include 
#include 
#include 
#include using namespace std;int n, m;//计数
int res = 0;const int N = 110;char g[N][N];//存放偏移量
int st1[] = {1, 1, 1, 0, 0, -1, -1, -1};
int st2[] = {1, 0, -1, 1, -1, 1, 0, -1};void dfs(int x, int y)
{for(int i = 0; i < 8; i++){int a = x + st1[i];int b = y + st2[i];//遇到边界就不往下搜if(a < 0 || a >= n || b < 0 || b >= m) continue;//遇到不是W就不往下搜if(g[a][b] != 'W') continue;//标记g[a][b] = '.';dfs(a, b);}
}int main()
{scanf("%d %d", &n, &m);for(int i = 0; i < n; i++){scanf("%s", g[i]);}//遍历地图找Wfor(int i = 0; i < n; i++){for(int j = 0; j < m; j++){if(g[i][j] == 'W'){//计数res++;dfs(i, j);}}}printf("%d", res);return 0;
}

AC !!!!!!!!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果喜欢本文的话,欢迎点赞和评论,写下你的见解。

如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。

之后我还会输出更多高质量内容,欢迎收看。

相关内容

热门资讯

邮储银行、民生银行、华夏银行等... 中国金融网 | 石红 2025年12月中下旬,金融行业迎来一波密集的核心岗位人事调整,覆盖国有大行、...
原创 帮... 朋友们,一个历史性的数据刚刚出炉!国内ETF总规模已突破6万亿元!关键是,它在2025年一年内,连跨...
年终盘点|2025年全球彩电市... 在全球彩电市场整体销量微跌的情况下,2025年中国头部企业的市场份额继续逆势上扬,TCL、海信“双雄...
原创 楼... 全国住房城乡建设工作会议刚刚落幕,将房地产工作重点从“持续用力推动房地产市场止跌回稳”调整为“着力稳...
宇树机器人模拟动作测试,突然给... 据环球网,当地时间12月27日,特斯拉Cybertruck首席工程师在社交媒体转发了一段中国宇树G1...
高效小红书聚光投放推荐,开启营... 在当今数字化营销的浪潮中,小红书聚光投放凭借其独特的优势,成为众多企业和品牌竞相追逐的营销利器。今天...
商络电子跌1.25%,成交额2... 来源:新浪证券-红岸工作室 12月26日,商络电子跌1.25%,成交额2.11亿元,换手率3.38%...
国家带头,再干一件大事 12月26日,国家创业投资引导基金正式启动。 谭主了解到,该基金最大的特点,是针对科技领域“投早投小...
离谱!女子把豆包生成的照片当证... 诉讼唯信,举证唯真,司法公正容不得半点弄虚作假。近日,湖北孝感大悟法院民二庭在审理一起房屋租赁合同纠...
解码产业蓝图 畅通融资路径——... 近日,阜阳市民建企联会举办“思源·大讲堂”,活动聚焦地方产业发展、企业融资需求及党派履职担当,内容丰...
九万里:全球货币政策为何出现明... 2025年岁末,全球金融市场出现“超级央行周”。 从12月10日开始,美国、日本、英国、欧盟、俄罗斯...
1.65万户股东沸腾,3004... 12月29日至12月31日期间,有17股解禁市值超亿元。 12月26日晚间,*ST新元(30047...
每周股票复盘:中信银行(601... 截至2025年12月26日收盘,中信银行(601998)报收于7.42元,较上周的7.46元下跌0....
原创 短... 特朗普政府对中国半导体加征关税,税率竟然是0%! 这听起来像是个笑话,但却是2025年12月23日美...
金价,爆了 国际白银期价逼近每盎司80美元 多种贵金属期价创新高 受避险需求增加等因素拉动,国际黄金、白银价格2...
原创 人... 中国保持多年的全球人口最多国家位置,在2023年被印度正式取代。那年联合国数据显示,印度人口达到14...
每周股票复盘:南京银行(601... 截至2025年12月26日收盘,南京银行(601009)报收于11.22元,较上周的11.41元下跌...
年味升腾!“金堂年·最天府”2... 爱媛橙、羊肚菌、铁皮石斛、金堂明参等金堂农特产品琳琅满目;非遗传承人泼墨挥毫,写下一幅幅寓意吉祥的新...
一盎司白银>一桶原油 大宗商品... 财联社12月28日讯(编辑 赵昊)在近期暴涨后,现货白银价格已升至每盎司79.19美元;与此同时,美...