poj3669 Meteor Shower (宽度优先搜索)】的更多相关文章

Description - 题目描述 Bessie听说有场史无前例的流星雨即将来临:有谶言:陨星将落,徒留灰烬.为保生机,她誓将找寻安全之所(永避星坠之地).目前她正在平面坐标系的原点放牧,打算在群星断其生路前转移至安全地点. 此次共有M (1 ≤ M ≤ 50,000)颗流星来袭,流星i将在时间点Ti (0 ≤ Ti ≤ 1,000) 袭击点 (Xi, Yi) (0 ≤ Xi ≤ 300; 0 ≤ Yi ≤ 300).每颗流星都将摧毁落点及其相邻四点的区域. Bessie在0时刻时处于原点,且…
先对比一下DFS和BFS         深度优先搜索DFS                                   宽度优先搜索BFS 明显可以看出搜索顺序不同. DFS是搜索单条路径到底部,再回溯. BFS是搜索近的状态,直到底部,一般在求解最短路径或者最短步数上应用. BFS要用到队列呢.. 队列的用法看一看 map的c++用法也简单看一看  高端一点的  map的基本操作函数: C++Maps 是一种关联式容器,包含"关键字/值"对 begin() 返回指向map头…
题目链接:poj3669 Meteor Shower 我只想说这题WA了后去看讨论才发现的坑点,除了要注意原点外,流星范围题目给的是[0,300],到302的位置就绝对安全了... #include<cstdio> #include<cmath> #include<queue> #include<cstring> #include<algorithm> #define CLR(a,b) memset((a),(b),sizeof((a))) us…
广度/宽度优先搜索(BFS) [算法入门] 1.前言 广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略.因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名. 一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想成立的. 算法导论里边会给出不少严格的证明,我想尽量写得通俗一点,因此采用一些直观的讲法来伪装成证明,关键的point能够帮你get到就好. 2.图的…
Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns). At the beginning, each grid of this board is consisting of grass or just empty and then they start to fire all the grass. Firstly they choose two gr…
一.求所有顶点到s顶点的最小步数   //BFS宽度优先搜索 #include<iostream> using namespace std; #include<queue> #define MAX 10000 ][],int s,int n)//从(si,sj)出发能到的位置以及距离 { int *flag=new int[n];//顶点是否被遍历过,0未遍历,1已入队,2已出队 int *dist=new int[n]; int i; ;i<n;i++) { flag[i]…
问题引入 我们接着上次“解救小哈”的问题继续探索,不过这次是用宽度优先搜索(BFS). 注:问题来源可以点击这里 http://www.cnblogs.com/OctoptusLian/p/7429645.html 最开始小哼在入口(1,1)处,一步之内可以到达的点有(1,2)和(2,1). 但是小哈并不在这两个点上,那小哼只能通过(1,2)和(2,1)这两点继续往下走. 比如现在小哼走到了(1,2)这个点,之后他又能够到达哪些新的点呢?有(2,2).再看看通过(2,1)又可以到达哪些点呢?可以…
双向宽度优先搜索 (Bidirectional BFS) 算法适用于如下的场景: 无向图 所有边的长度都为 1 或者长度都一样 同时给出了起点和终点 以上 3 个条件都满足的时候,可以使用双向宽度优先搜索来求出起点和终点的最短距离. 算法描述 双向宽度优先搜索本质上还是BFS,只不过变成了起点向终点和终点向起点同时进行扩展,直至两个方向上出现同一个子节点,搜索结束.我们还是可以利用队列来实现:一个队列保存从起点开始搜索的状态,另一个保存从终点开始的状态,两边如果相交了,那么搜索结束.起点到终点的…
宽度优先搜索运用了队列(queue)在unility头文件中 源代码 #include<iostream>#include<cstdio>#include<queue>#include<algorithm>#include<utility>using namespace std;typedef pair<int,int> P;#define INF 100000000#define maxn 101queue<P>que;…
宽度优先搜索(BFS) #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<queue> #define x first #define y second using namespace std; typedef pair<int,int> PII; const int N=210; char g[N][N]; int d…