BFS
Dilly__dally
这个作者很懒,什么都没留下…
展开
-
POJ 1426 (BFS)
思路:用队列存储“打的表”,即从1开始,1的10倍满足条件,1的10倍+1也满足条件,判断队头是否%n==0就行。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<vector&...原创 2018-08-09 22:34:16 · 183 阅读 · 0 评论 -
UVA 11624(BFS+火追人)
题意:乔在迷宫中工作。不幸的是,迷宫的一部分着火了,迷宫的主人没有制定火灾的逃跑计划。请帮助乔逃离迷宫。根据乔在迷宫中的位置以及迷宫的哪个方块着火,你必须确定火焰烧到他之前,乔是否可以离开迷宫,如果能离开他能跑多快。 乔和火每分钟移动一个方格,上、下、左、右,四个方向中的一个。火势向四个方向同时蔓延。乔可以从迷宫的任何一个边界逃离迷宫。无论是乔还是火都不会到达有墙的位置。思路:这题可以看出...原创 2018-09-14 21:39:03 · 301 阅读 · 0 评论 -
FZU 2150 Fire Game (两点BFS)
题意:两个熊孩子在n*m的平地上放火玩,#表示草,两个熊孩子分别选一个#格子点火,火可以向上向下向左向右在有草的格子蔓延,点火的地方时间为0,蔓延至下一格的时间依次加一。求烧完所有的草需要的最少时间。如不能烧完输出-1。思路:第一感觉是DFS求连通块,但想想就感觉不对了。要求最少时间,还是BFS,先枚举两个点,如果是#就把这两个点入队列,然后扩展,每一次bfs的最后要找出燃烧时间最长的点的时间...原创 2018-09-14 19:21:43 · 182 阅读 · 0 评论 -
POJ 3414(BFS+输出路径+倒水问题)
题意:给你两个容器,分别能装下A升水和B升水,并且可以进行以下操作FILL(i) 将第i个容器从水龙头里装满(1 ≤ i ≤ 2);DROP(i) 将第i个容器抽干POUR(i,j) 将第i个容器里的水倒入第j个容器(这次操作结束后产生两种结果,一是第j个容器倒满并且第i个容器依旧有剩余,二是第i个容器里的水全部倒入j中,第i个容器为空)现...原创 2018-09-14 09:12:43 · 314 阅读 · 0 评论 -
HDU 1043(康拓展开+BFS+八数码问题)
题意:给定一个现有的九宫格布局,请输出将它移动至初始状态的移动方法的步骤。思路:自己没什么思路。学了康拓展开,看了别人的博客才理解了,暂且先放着别人的代码,,等自己实力足够了再自己写试试//HDU1043-经典BFS-八数码//多组数据-需要计算全部路径后直接输出(POJ1077数据较弱)//反向搜索+打表(离线)//Time:109Ms Memory:25412K#in...转载 2018-09-15 23:05:07 · 341 阅读 · 0 评论 -
GCPC 2013 C(BFS+输出路径)
题意:给出起点和终点,棋盘有两种颜色黑和白,跳的归则是只能跳到相同的颜色格子,问能跳到终到吗,能则输出跳的路径。补题:CSU-1459思路:与普通的BFS有点不一样,无非就是每一个方向可以走多格,所以再加个for循环枚举一下次数就好,这题补题AC不了,可能是测评机出问题了,,我用的标程也AC不了……#include<bits/stdc++.h>using namespa...原创 2018-09-05 21:08:32 · 188 阅读 · 0 评论 -
哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)G(BFS)
题目链接:https://www.nowcoder.com/acm/contest/27/G思路:预处理S点和*点,按顺序push进队列,然后BFS,判断对头是否有火,若有则扩展火的移动,若无则扩展人的移动。这里建一个huo[][]数组来存储每个点火的状态,如果已经是1了就不能再进队列了!#include<bits/stdc++.h>using namespace std;...原创 2018-09-02 23:49:06 · 310 阅读 · 0 评论 -
HDU 1495(倒水问题+BFS)
大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的,且 S==N+M,101>S>...原创 2018-08-14 00:10:16 · 207 阅读 · 0 评论 -
POJ 3278(bfs)
虽然是水题,但要注意数组的越界和vis的使用,不然就RE、TLE#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<vector>#include<stack>原创 2018-08-09 00:30:54 · 196 阅读 · 0 评论 -
POJ2251(三维BFS)
水题。 #include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<vector>#include<stack>#include<bitset&原创 2018-08-08 23:43:05 · 161 阅读 · 0 评论 -
HDU 2612(两次BFS+打表)
思路:和一般的bfs没有什么区别,主要是把每一个到达'@'的步数分别记录下来,需要注意Y出发不能经过M点,M出发也不能经过Y点。#include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define ll long longconst int maxn=200005;const double ep...原创 2018-08-10 17:18:23 · 205 阅读 · 0 评论 -
POJ3126 (BFS)
题意:从一个素数变到另一个素数,中途只能改变一个位上的数而且改变后还是素数。方法:先打素数表,再BFS#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<vector>...原创 2018-08-06 14:31:57 · 204 阅读 · 0 评论 -
POJ3984(bfs+输出路径)
思路:题目要求输出每一次走的点,所以我的想法是给每个结点再加个id和fro代表他现在是第几个遍历的和他的根节点是谁,接下来就是常规的bfs了,把答案压到栈里面,最后输出。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<st...原创 2018-08-09 23:25:22 · 217 阅读 · 0 评论 -
POJ 3026 Borg Maze (最小生成树+bfs)
题意:从S点有一伙人出发去消灭A点的敌人,在S点或者A点可以分裂成几个小队然后分别走,这样路径=总队路径+各个小队路径 问你怎样路径最短思路:S点可以看成是A点,用bfs预处理每两个A(包含S)的最短距离,题目中的分裂就可以看成树的分叉,把所有A点构成最小生成树,其权值和即为最短的路径。注意:这里题目有坑,输入行和列后会有一大堆空格,要先用gets吃掉,不然会WA。#...原创 2018-11-30 13:25:19 · 172 阅读 · 0 评论