搜索-广度优先搜索
lab104_yifan
这个作者很懒,什么都没留下…
展开
-
UVA 1533 - Moving Pegs (广搜+hash判重)
Venture MFG Company, Inc. has made a game board. This game board has 15 holes and these holes are filled with pegs except one hole. A peg can jump over one or more consecutive peg s to the nearest emp原创 2013-12-28 19:49:47 · 1976 阅读 · 0 评论 -
UVA 810 - A Dicey Problem(BFS)
UVA 810 - A Dicey Problem题目链接题意:一个骰子,给你顶面和前面,在一个起点,每次能移动到周围4格,为-1,或顶面和该位置数字一样,那么问题来了,骰子能不能走一圈回到原地,输出路径,要求最短,如果有多个最短,按照上下左右输出思路:读懂题就是水题,就记忆化搜一下即可,记录状态为位置和骰子顶面,正面(因为有两面就能确定骰子了)代码:#in原创 2014-10-10 18:02:55 · 2830 阅读 · 0 评论 -
UVA 11165 - Galactic Travel(BFS+twopointer+并查集)
UVA 11165 - Galactic Travel题目链接题意:给定一些不能走的边,要求出从s到t的最短路思路:由于点数多,直接广搜会超时,所以加上优化,已经找过的点就不在重复找了,这点可以利用并查集进行优化,然后对于每个点的每个不能走的区间,可以先排序,然后利用twopointer的性质,每次可以从上次找到的位置往后找即可代码:#include #i原创 2014-09-17 15:20:38 · 1310 阅读 · 0 评论 -
HDU 5012 Dice(西安网络赛F题)
HDU 5012 Dice题目链接思路:这题也是水水的,直接记忆化广搜一下即可代码:#include #include #include using namespace std;const int rot[4][6] = { {4, 3, 1, 2, 5, 6}, {3, 4, 2, 1, 5, 6}, {6, 5, 3, 4, 1原创 2014-09-15 09:57:07 · 833 阅读 · 0 评论 -
HDU 5025 Saving Tang Monk(广州网络赛D题)
HDU 5025 Saving Tang Monk题目链接思路:记忆化广搜,vis[x][y][k][s]表示在x, y结点,有k把钥匙了,蛇剩余状态为s的步数,先把图预处理出来,然后进行广搜即可代码:#include #include #include using namespace std;const int INF = 0x3f3f3f3f;con原创 2014-09-22 15:56:40 · 1254 阅读 · 2 评论 -
UVA 1569 - Multiple(BFS)
UVA 1569 - Multiple题目链接题意:给定m个1位数字,要求用这些数字组成n的倍数的最小数字,如果无法组成就输出0思路:BFS,由于n最大5000,余数最多5000,利用余数去判重,并记录下路径即可代码:#include #include #include #include #include using namespace std;原创 2014-08-28 22:41:35 · 1087 阅读 · 0 评论 -
UVA 10968 - KuPellaKeS(BFS)
UVA 10968 - KuPellaKeS题目链接题意:给定一个图,要求把这个图删掉一些边后,使得他所以有点度数为不等于0的偶数,保证图一开始最多只有最多2个奇数度数结点思路:对于有奇数点的情况,肯定从奇数点找到到另一个奇数点,途中不能路过度数为2的点,把这些边删掉就是答案,这样就相当于求最小距离,然后注意特殊情况,就是奇数点度数为1和一开始就有度数为0的情况代码原创 2014-08-28 20:43:30 · 1163 阅读 · 0 评论 -
HDU 5040 Instrusive(北京网络赛I题)
HDU 5040 Instrusive题目链接思路:记忆化广搜,先预处理出图,每个位置用一个二进制数表示,表示4秒为1个周期内,这个位置是否会被照到,然后进行记忆化广搜即可,状态多开一个4,表示在4秒一周期,然后进行转移即可代码:#include #include #include using namespace std;const int N = 505原创 2014-09-22 16:07:15 · 1033 阅读 · 0 评论 -
UVA 10798 - Be wary of Roses(记忆化BFS)
UVA 10798 - Be wary of Roses题目链接题意:给定一个地图,人一开始在中心,问选择一种走法走出去,使得面朝任何一个方向走,踩到的花的最大值最小思路:用优先队列进行BFS,每次取出踩到最少的情况,广搜记录状态为当前位置,和4个方向分别踩到的花数代码:#include #include #include #include usin原创 2014-08-28 18:13:09 · 1071 阅读 · 0 评论 -
UVA 11573 - Ocean Currents(BFS+优先队列)
UVA 11573 - Ocean Currents题目链接题意:给定一个海面,数字分别代表海流方向,顺着海流不用费能量,逆海流要费1点能量,每次询问给一个起点一个终点,问起点到终点耗费的最小能量思路:广搜,队列用优先队列,每次取能量最低的点出来进行状态的转移代码:#include #include #include using namespace s原创 2014-08-28 01:36:16 · 1393 阅读 · 0 评论 -
ZOJ 3814 Sawtooth Puzzle(牡丹江网络赛F题)
ZOJ 3814 Sawtooth Puzzle题目链接记录状态广搜,把9个拼图都压缩成一个状态,然后去搜索,就是模拟的过程比较麻烦代码:#include #include #include #include #include using namespace std;typedef unsigned long long ll;int t;int原创 2014-09-10 16:59:55 · 1529 阅读 · 0 评论 -
UVA 10941 - Words adjustment(BFS+字符串处理)
UVA 10941 - Words adjustment题目链接题意:给定两个字符串,在给定一些单词集合,问能否两个单词后面各添加一些单词,使得两个单词变成相同,问添加单词最少几次,单词要来自单词集合思路:广搜,记录状态为两个字符串之间差的字符,利用set和string去乱搞。。即可代码:#include #include #include #incl原创 2014-08-28 20:05:13 · 874 阅读 · 0 评论 -
UVA 11624 - Fire!(BFS)
UVA 11624 - Fire!题目链接题意:一个迷宫,一些格子着火了,火每秒向周围蔓延,现在J在一个位置,问他能走出迷宫的最小距离思路:BFS2次,第一次预处理每个位置着火时间,第二次根据这个再BFS一次代码:#include #include #include using namespace std;const int d[4][2] = {原创 2014-08-27 15:00:14 · 1056 阅读 · 0 评论 -
UVA 12130 - Summits(BFS+贪心)
UVA 12130 - Summits题目链接题意:给定一个h * w的图,每个位置有一个值,现在要求出这个图上的峰顶有多少个。峰顶是这样定义的,有一个d值,如果一个位置是峰顶,那么它不能走到不大于该峰顶高度 - d的位置,如果满足这个条件下,并且无法走到更高的山峰,那么它就是峰顶思路:利用贪心的策略,把所有点丢到优先队列,每次取出最高的峰值开始找,进行广搜,搜的过程中记录原创 2014-08-14 00:50:20 · 1345 阅读 · 5 评论 -
UVA 589 - Pushing Boxes(BFS+状态判重)
题目链接:589 - Pushing Boxes题意:就是模拟推箱子游戏,要求推箱子次数最少,然后是总次数最少的方案。思路:广搜+状态判重,用人的位置和箱子位置和当前步数作为状态。然后由于是要优先推箱子次数少,所以利用优先队列去取状态。代码:#include #include #include #include #include #include #include原创 2014-04-01 13:26:13 · 1704 阅读 · 0 评论 -
UVA 1377 - Ruler(BFS + 状态判重)
Xiaoming wants to make a special ruler, which can directly measure several given lengths. Xiaoming hopes to find a way, making the scale on ruler as few as possible, while for a given length, there ex原创 2014-01-15 15:53:31 · 2197 阅读 · 0 评论 -
UVA 10120 - Gift?!(搜索+规律)
Problem D. Gift?! The ProblemThere is a beautiful river in a small village. N rocks are arranged in a straight line numbered 1 to N from left bank to the right bank, as shown below.原创 2014-01-06 23:17:49 · 1160 阅读 · 0 评论 -
UVA 816 - Abbott's Revenge(BFS)
UVA 816 - Abbott's Revenge题目链接题意:一个迷宫,每个点限制了从哪一方向来的,只能往左右前走,然后问起点到终点的最短路径思路:BFS,每个点拆成4个方向的点,对应能走的方向建图跑一下bfs即可代码:#include #include #include #include #include using namespace st原创 2014-10-10 19:15:16 · 3112 阅读 · 0 评论