随笔分类 -  C++算法 / BFS 广度优先搜索

摘要:本题做法 BFS。 思路 简单的 BFS 打卡题。从 m 的位置开始 BFS,直到找到 d 的位置,此时由于是按照层序搜索的,所以步数一定是最少的,故直接输出步数,程序退出。最后如果 BFS 结束后依然没有输出,则直接输出 No Way!。 代码 #include <bits/stdc++.h> # 阅读全文
posted @ 2025-03-24 19:47 2789617221guo 阅读(17) 评论(1) 推荐(0)
摘要:本题做法 BFS。 思路 本题其实难就难在传送门如何存储。我的做法是使用 3 个 map 存储传送门,一个 map 叫做 \(exist\)(map<char,bool>),代表传送门 \(c\) 是否存在(就是有没有输入过了),是为了后面的存储判断做准备;第二个 map 叫做 \(lastdoor 阅读全文
posted @ 2025-03-13 20:14 2789617221guo 阅读(47) 评论(0) 推荐(0)
摘要:本题做法 二分答案+BFS。 思路 对于输入的数据,使用4个数组\(head,tail,value,next\)记录每个点的第一条边、每条边的结尾、每条边的拥挤值以及每条边的下一条边。 随后使用二分答案法二分所求的答案,使用\(check\)函数检测是否可行。 \(check\)函数:从\(s\)点 阅读全文
posted @ 2025-03-01 22:10 2789617221guo 阅读(16) 评论(0) 推荐(0)