![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hdoj
文章平均质量分 55
skynesser
这个作者很懒,什么都没留下…
展开
-
BFS——1429 胜利大逃亡(续)
1429 胜利大逃亡(续)文章目录1429 胜利大逃亡(续)题意:思路:本题的重点在于标记数组,除了基本的坐标(x,y)(x,y)(x,y)以外,在同一位置是否有某个钥匙显然会影响结果,所以这样一来,我们就要为每个钥匙拥有与否多开一维数组,这样总共就会有12维的标记数组。但这样显然是不方便的,我们就可以用二进制数来代替,这就是状态压缩。例子:有钥匙aaa:0000000001有钥匙bbb:0000000010有钥匙a和ba和ba和b:0000000011AC代码:原创 2022-04-08 07:33:37 · 284 阅读 · 0 评论 -
BFS——1254推箱子
1254推箱子文章目录1254推箱子题意:思路:箱子的移动按照正常的BFS拓展即可。重点在于判断搬运工能否把箱子往某个方向推:显然,箱子需要移动到(x+1,y)(x+1,y)(x+1,y),搬运工需要移动到(x−1,y)(x-1,y)(x−1,y)箱子所在的位置对搬运工来说是无法跨越的障碍。搬运工能否到达目标地并不能简单的判断,需要再用BFS来判断可行性(总的来说,出现了BFS套BFS)。此外,标记数组也应该得到修改,因为搬运工在不同的位置,会对上述可行性的判断产生影响,原创 2022-04-08 07:32:43 · 564 阅读 · 0 评论 -
BFS——1253 胜利大逃亡
1253 胜利大逃亡文章目录1253 胜利大逃亡题意:思路:将BFS原来二维的部分改成三维,其余部分均不变即可。注:用cin读入要关流,否则会超时读入优化代码:std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);AC代码:#include<bits/stdc++.h>typedef long long ll;const int N = 60,原创 2022-04-02 14:42:34 · 340 阅读 · 0 评论 -
BFS——1242 Rescue
1242 Rescue文章目录1242 Rescue题意:解释如下:a:终点{\color{red}a:终点}a:终点r:起点{\color{red}r:起点}r:起点.:路{\color{red}.:路}.:路#:障碍{\color{red}\#:障碍}#:障碍x:敌人(需要花一个单位时间打败){\color{red}x:敌人(需要花一个单位时间打败)}x:敌人(需要花一个单位时间打败)输出从起点到终点的最小步数,如果不存在路径,输出"Poor ANGEL has to sta原创 2022-04-02 14:21:35 · 110 阅读 · 0 评论 -
BFS——1181 变形课
1181 变形课文章目录1181 变形课题意:思路:把题目抽象成图,抽象方法如下:起点:b终点:m路径:对于一个字符串soonsoonsoon,表示从sss到nnn存在一条路径。根据如上规则建图bfs即可。AC代码:#include<bits/stdc++.h>typedef long long ll;const int N = 30,M = 2e4+10,INF = 0x3f3f3f3f,mod = 1e9+7;int que[N];boo原创 2022-04-02 13:51:42 · 469 阅读 · 0 评论 -
BFS——1180诡异的楼梯
1180诡异的楼梯文章目录1180诡异的楼梯题意:中文题面,题意也比较直接,直接上原题。思路:在楼梯不能通过的时候,原地等待一个单位时间就可以了。注:本题还有一种优先队列的做法,我们可以认为通过一个当前无法通过的楼梯,所花费的时间是2个单位时间(加上等待的时间),但是这样做会使得队列中每次出队的不一定是步数最小的点,所以要用优先队列维护(其实没什么必要这样做,正常的bfs就可以解决)。AC代码:不使用优先队列:#include<bits/stdc++.h>原创 2022-04-02 11:04:46 · 268 阅读 · 0 评论 -
BFS——1175连连看
1175连连看文章目录1175连连看题意:给出一个n∗mn*mn∗m的棋盘,玩一个类似于连连看的游戏。1 2 3 40 0 0 04 3 2 10:空格{\color{red}0:空格}0:空格其他:不同的棋子{\color{red}其他:不同的棋子}其他:不同的棋子给定棋盘以后,给定起点startx,startystart_x,start_ystartx,starty和终点endx,endyend_x,end_yendx,endy,要求从起点走到终点,方向转折的次数不能超原创 2022-04-01 11:51:17 · 4396 阅读 · 0 评论 -
BFS——1072 Nightmare
1072 Nightmare文章目录1072 Nightmare题意:小明被困在一个迷宫如下中:1.小明每次可以花一个单位时间往上下左右的某个方向移动一格。2.小明身上有一个炸弹,在第6个单位时间就会爆炸,在第6个单位时间走到终点或者刷新炸弹时间是无效的。举例如下:2 1 1 0 1 1 1 01 0 4 1 1 0 4 11 0 0 0 0 0 0 11 1 1 4 1 1 1 30.障碍{\color{red}0.障碍}0.障碍1.平路{\color{red}1.平路}原创 2022-03-31 14:39:38 · 330 阅读 · 0 评论 -
BFS——1495 非常可乐
1495 非常可乐文章目录1495 非常可乐题目:思路:抽象BFS,把三个杯子的水量抽象成(x,y,z)(x,y,z)(x,y,z)的一个三维坐标,并按照题目要求修改拓展方式,在此基础上BFS即可(可以理解为在三维空间的BFS)。拓展方式:对于一个坐标(a,b,c)(a,b,c)(a,b,c)一定要转移到类似于(a−(N−b),N,c)(a-(N-b),N,c)(a−(N−b),N,c)或者(0,a+b,c)(0,a+b,c)(0,a+b,c)等,其实就是模拟倒水过程,倒水过程要原创 2022-04-04 09:48:01 · 204 阅读 · 0 评论