![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
广搜专项
人面桃花相映红
BNU student
展开
-
hdu 2612 bfs 广搜 距离和的最小值
这个题应用了一种新的思想,就是把运用三维数组a[x][y][z]来存储点x,y之间的距离比如 a[x][y][5] 表示x,y 之间的 距离是5;然后用一个求和的遍历,便可以求出最小值。 本题目还是应用bfs求出最短路。#include<iostream> #include<queue> #define N 210 #define inf 0xffffff using namespace std;原创 2017-02-28 21:00:37 · 200 阅读 · 0 评论 -
poj 3087 广度搜索 + map用法
题意:给定长度都为C两个字符串,S1,S2,和一个要求的结果字符串S12。先把 S2 的最下面一张牌放在最下面,然后S1,S2交错的叠放,得到新的S12,再把S12最下面的C个字符赋值给S1,把剩下的赋值给S2,再次重复上面的过程。最后求出要得到目标字符串S,问最少需要几步。 注意:题目所给出的输入是从低向上排列的。 #include <iostream> #include <map> #inclu原创 2017-02-28 19:31:24 · 254 阅读 · 0 评论 -
这个题目也是经典的BFS算法,题目的链接如下: http://poj.org/problem?id=1915
这个题目也是经典的BFS算法,题目的链接如下: http://poj.org/problem?id=1915 感悟: 定义为全局变量,定义结构体,方便进行数之间的步数和位置的操作,直接进行bfs,因为是全局变量,在bfs中进行输出结果Knight Moves Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 24565 A原创 2016-09-04 16:42:30 · 316 阅读 · 0 评论 -
bfs and dfs
深度优先搜索 ## (用栈来保存)思想:一直往深处走,直到找到解或走不下去为止 框架: DFS(deep,)//deep表示目前dfs的深度 { if(找到解||走不下去了){ … return ; } 枚举下一种情况,DFS(deep + 1,); }基本思想:从初始状态S开始,利用规则生成搜索树下一层任一个结点,检查是否原创 2016-09-03 19:51:13 · 212 阅读 · 0 评论 -
杭电搜索100 练手用
一般是不用hash的,所以很多时候称之为”暴力”,也就是穷举所有情况,一般看几个我们OJ的dfs的版本的题目就可以模仿着做了,因为牵涉到递归,初学者学的时候最好能举一反三,理解其中真谛.DFS — EASY(15) Tempter of the Bone Safecracker Prime Ring Problem Robot Motion Fire Net 猜数字 Oil Deposits Sum转载 2017-03-05 21:48:37 · 639 阅读 · 0 评论 -
nyoj 284 坦克大战
典型的广度优先搜索,题意:图中Y代表起点,T代表终点,S代表铁墙,不可被击毁也不可被通过,B代表木墙,可以被击毁,击毁后可以通过,R代表河流,不可击毁也不可通过,E代表可通过。 击毁木墙会消耗一步,问最少多少步能从起点走到终点。 #include<stdio.h> //广度优先搜索 #include<iostream> #include<string.h> #inc原创 2017-03-26 17:28:27 · 192 阅读 · 0 评论 -
nyoj 21 三个水杯 广搜
三个水杯 时间限制:1000 ms | 内存限制:65535 KB 难度:4描述 给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子。三个水杯之间相互倒水,并且水杯没有标识,只能根据给出的水杯体积来计算。现在要求你写出一个程序,使其输出使初始状态到达目标状态的最少次数。输入 第一行一个整数N(0<N<50)表示N组测试数据 接下来每组测试数据有原创 2017-03-26 20:42:15 · 184 阅读 · 0 评论 -
杭电1072 结构体广搜
题目的意思是:给你一个迷宫,0代表墙,1代表路,2代表起始位置,3代表终点,4代表爆破装置。一开始,你在2的位置,求到3的最少步数。4虽然为爆破装置 ,可以连续爆破,但是如果连续爆破时间虽然拓展了,但是却肯定不是最短时间了。起初,你只有6秒钟的时间,时间减到0,你没到3的位置,代表不能出去,输出-1.想要增加时间,可以引爆爆破装置,引爆之后,时间重置为6,可以引爆多个。到引爆装置的时候,时间必须大...原创 2018-03-01 10:16:55 · 189 阅读 · 0 评论