bfs
bfs
JA_yichao
这个作者很懒,什么都没留下…
展开
-
YbtOJ 广度搜索课堂过关 例6 逃离噩梦【bfs】
题目思路这道题我们需要男生女生同时bfs,恶魔的扩张直接用曼哈顿距离和扩张时间来 O(1)O(1)O(1) 判断即可。男生的bfs因为有三步,所以我们需要把当前扩散到的所有点继续扩散直到3步全部扩散完。其余的地方就照常即可,注意本题有很多细节,只可意会不可言传☺代码#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;原创 2021-01-21 22:05:35 · 167 阅读 · 0 评论 -
YbtOJ 广度搜索课堂过关 例5 电路维修【bfs】
题目思路这道题不是太好想。思考发现可以用点而不是格子记录状态。如果两点之间没有电路相连,则需要旋转一次;如果两点之间没有电路相连,则不需要旋转;这样就可以一边bfs一边用spfa来找最优路径。注意点和格子的坐标差异!代码#include<iostream>#include<cstdio>#include<cmath>using namespace std;const int dx[5]={0,1,1,-1,-1};const int dy[原创 2021-01-21 10:42:14 · 188 阅读 · 0 评论 -
YbtOJ 广度搜索课堂过关 例4 荆轲刺秦王【bfs】
题目思路这道题其实思考难度不大,主要是有一堆细节,码量也很大,非常考验bfs的基础,我调了两个多小时。我们需要分情况处理,分成用瞬移和不用瞬移两板块;然后再分别判断是否要隐身,维护一下状态即可。代码#include<iostream>#include<cstdio>#include<cmath>using namespace std;int dx[9]={0,1,0,0,-1,1,1,-1,-1};int dy[9]={0,0,1,-1,0,原创 2021-01-21 08:44:18 · 162 阅读 · 0 评论 -
YbtOJ 广度搜索课堂过关 例3 立体推箱子【bfs】
思路首先这个是广搜。可以预处理出刚开始的箱子状态和终点。那么 1×21\times 21×2 的情况怎么记录呢?我们可以记录第一个格子,然后直接把第二个格子判断状态即可。然后对于箱子的移动很麻烦,我们要用 dx,dy,dtdx,dy,dtdx,dy,dt 分别表示每种情况下的移动方式。最后直接搜就好了。CodeCodeCode#include<iostream>#include<cstring>#include<cstdio>#include&l..原创 2021-01-09 10:53:42 · 203 阅读 · 3 评论 -
YbtOJ 广度搜索课堂过关 例2 山峰和山谷【bfs】
思路这道题用广搜实现,我们可以bfs一次山峰,bfs一次山谷。当一个范围周围所有数都没有它高时,它就是山峰;当一个范围周围所有数都比它高时,它就是山谷。CodeCodeCode#include<iostream>#include<cstdio>#include<cmath>using namespace std;int dx[9]={0,1,0,0,-1,1,1,-1,-1};int dy[9]={0,0,1,-1,0,1,-1,-1,1};in..原创 2021-01-09 08:54:19 · 189 阅读 · 0 评论 -
YbtOJ 广度搜索课堂过关 例1 走迷宫【bfs】
思路这道题是一道广搜模板题。广搜都快忘了怎么打了,打完这道题之后重拾一些了。CodeCodeCode#include<iostream>#include<cstdio>#include<cmath>using namespace std;int dx[5]={0,1,0,0,-1};int dy[5]={0,0,1,-1,0};int f[1010000][5],v[1010][1010];int n,a[1010][1010];int sx,..原创 2021-01-08 21:11:01 · 134 阅读 · 0 评论 -
Luogu P2622 关灯问题II【状压BFS】
这道题其实不是是一个状压DP而是一道 状压BFS状压BFS状压BFS 题。原创 2020-08-20 11:22:21 · 162 阅读 · 0 评论 -
2020.5.7普及C组 步行(walk)【纪中】【bfs】
这道题是一个bfsbfsbfs分三种情况:bz[a[d[l]]]!=0bz[a[d[l]]]!=0bz[a[d[l]]]!=0//这就是移动到ai//这就是移动到a_i//这就是移动到aibz[d[l]−1]!=0bz[d[l]-1]!=0bz[d[l]−1]!=0//这是减一//这是减一//这是减一bz[d[l]+1]!=0bz[d[l]+1]!=0bz[d[l]+1]!=0//...原创 2020-05-07 19:53:31 · 153 阅读 · 0 评论 -
2020.4.15普及C组 Icy Perimeter【纪中】【BFS】
BFSBFSBFS枚举每一个点的位置并向周围拓展,找到它的面积和周长,最后求出最大的那块冰淇凌并输出。面积:这个冰激凌球里面“#”的个数.周长:就是“#”处在边界或周围没有冰淇淋块就+1.最后——附上代码#include<algorithm>#include<iostream>#include<cstring>#include<cstd...原创 2020-04-16 20:55:35 · 228 阅读 · 0 评论 -
2020.3.21普及C组 城市统计(city)【纪中】【bfs】
bfs+二维前缀和bfs求每个居民区最近的距离然后二维前缀和优化一下就过了#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;int a[1010][1010],b...原创 2020-03-21 16:41:33 · 211 阅读 · 0 评论 -
2020.3.11普及C组 房间开灯(light)【纪中】【bfs】
本题暴力bfs每次枚举四周的点看看能不能让它亮灯具体看代码#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;int v[1010][1010],ans[1010][1010];int xw[1000010],yw...原创 2020-03-13 19:47:28 · 270 阅读 · 0 评论 -
luogu P1137 旅行计划 【拓扑排序】
原题链接传送门其实就是拓扑排序模板题将入度为零的点放1(因为可以观光这个城市)用 MaxMaxMax 来递推可以观光的城市t[y1]=max(t[x1]+1,t[y1]); ( t[y1]t[y1]t[y1] 是目前点最大可观光的城市)最后顺次输出每个城市以第 iii 个城市为终点最多能游览多少个城市。不多讲,直接上代码:#include<iostream>...原创 2020-01-17 21:47:39 · 247 阅读 · 0 评论 -
奖金【拓扑排序】
原题链接传送门拓扑排序:我们可以这样来理解:就是一些子工程需要建立在另一些子工程的基础上,然后从入度为零的点开始,把这个点一个一个放进一个序列里,建立一个线性的数的序列,这些数列有至少1种。(解释很粗糙,别介意);当且仅当一个有向图为有向无环图(directed acyclic graph,或称DAG)时,才能得到对应于该图的拓扑排序。按照(wo)这(de)种(tu)方法直接...原创 2020-01-17 20:35:37 · 398 阅读 · 0 评论 -
求连通分量【三个广搜】【两个深搜】
原题链接传送门DescriptionDescriptionDescription求一个图的连通分量InputInputInputn 顶点数(<=100)边OutputOutputOutput连通分量Sample InputSample~InputSample Input86 31 22 55 44 18 70 0Sample O...原创 2019-12-14 16:14:27 · 162 阅读 · 0 评论 -
电子老鼠闯迷宫【BFS】
极短题干DescriptionDescriptionDescription找出一条自入口到出口最短路径。Input InputInput12 //迷宫大小2 9 11 8 //起点和终点1 1 1 1 1 1 1 1 1 1 1 1 //邻接矩阵,0表示通,1表示不通1 0 0 0 0 0 0 1 0 1 1 11 0 1 0 1 1 0 0 0 0 0 11 0 1 0 1...原创 2019-12-04 17:11:13 · 317 阅读 · 4 评论 -
骑士旅行【BFS】
原题链接:http://10.156.17.250/JudgeOnline/showproblem?problem_id=1456DescriptionDescriptionDescription在一个n m 格子的棋盘上,有一只国际象棋的骑士在棋盘的左下角 (1;1)(如图1),骑士只能根据象棋的规则进行移动,要么横向跳动一格纵向跳动两格,要么纵向跳动一格横向跳动两格。 例如, n=4,m=...原创 2019-12-06 21:25:04 · 302 阅读 · 1 评论 -
最优乘车【BFS】
原题链接传送门DescriptionDescriptionDescription H城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。 一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路已士可以直接到达S...原创 2019-12-07 09:25:25 · 164 阅读 · 1 评论 -
翻币问题【BFS】
原题链接传送门DescriptionDescriptionDescription有N个硬币(6<=N<=20000)全部正面朝上排成一排,每次将其中5个硬币翻过来放在原位置,直到最后全部硬币翻成反面朝上为止。试编程找出步数最少的翻法,输出最少步数及翻法。InputInputInput从键盘输入一个正整数N(6<=N<=20000),表示硬币的数量。OutputOu...原创 2019-12-07 10:49:24 · 204 阅读 · 1 评论 -
求细胞数量【BFS】
原题链接传送门DescriptionDescriptionDescription一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如:阵列0234500067103456050020456006710000000089有4个细胞。InputInputInput输入共m+1行第一行有两个数据,分别表示总...原创 2019-12-07 11:41:48 · 639 阅读 · 1 评论 -
Oliver的救援【BFS】
原题链接传送门DescriptionDescriptionDescription在你的帮助下,Oliver终于追到小X了,可有一天,坏人把小X抓走了。这正是Oliver英雄救美的时候。所以,Oliver又找到哆啦A梦,借了一个机器,机器显示出一幅方格地图,它告诉Oliver哪里能走,哪里不能走,。并且Oliver在这个地图的右下角,而小X在左上角。时间紧急,Oliver想知道,最少要走多少个格...原创 2019-12-07 15:10:23 · 229 阅读 · 0 评论 -
麻将游戏【BFS】
原题链接传送门DescriptionDescriptionDescription在一种"麻将"游戏中,游戏是在一个有W*H格子的矩形平板上进行的。每个格子可以放置一个麻将牌,也可以不放(如图所示)。玩家的目标是将平板上的所有可通过一条路径相连的两张相同的麻将牌,从平板上移去。最后如果能将所有牌移出平板,则算过关。 这个游戏中的一个关键问题是:两张牌之间是否可以被一条路径所连接,该路径满足以...原创 2019-12-13 22:21:25 · 223 阅读 · 0 评论