通过BFS解决迷宫问题,再利用一个last[]数组由出口倒置回来不断找到上一个点的位置,最终返回入口,而得到这条最短路径代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int map[5][5]; 8 int d.....
分类:
其他好文 时间:
2014-07-21 10:02:02
阅读次数:
204
// 等了好久,BESTCODER 终于出来了、、像咋这样的毕业的人、、就是去凑凑热闹// 弱校搞acm真是难,不过还是怪自己不够努力// 第一题是明显的拓扑排序,加了了个字典序限制而已// 用优先队列就可以搞定了#include #include #include #include #includ...
分类:
其他好文 时间:
2014-07-21 00:14:33
阅读次数:
325
链接:poj 3026
题意:y行x列的迷宫中,#代表阻隔墙(不可走),空格代表空位(可走),S代表搜索起点(可走)
A代表外星人站(可走),现在要从S出发,将S和所有的A之间都连通,求路线总距离最小值
分析:可以先用bfs将所有的A,S两两之间的最短距离,题目的目的是将S与所有的A连通,使得总距离最小,
所有任选一点开始按最小生成树的算法做就行,并非非要从S点开始...
分类:
其他好文 时间:
2014-07-20 23:26:40
阅读次数:
374
dfs 栈溢出,bfs超时,用dfs非递归就不溢出了,前后写了1一个星期class node{ int i; int j; public node(int i1,int j1) { i=i1; j=j1; ...
分类:
其他好文 时间:
2014-07-20 22:32:17
阅读次数:
244
Borg MazeDescriptionThe Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of the galaxy. The Borg collective is the ter...
分类:
其他好文 时间:
2014-07-20 22:28:43
阅读次数:
253
好久不写bfs了,中间失误了好长时间,在扩展新节点的时候一旦扩展成功就应该标记节点为已访问,不然有些情况下会无限扩展队列。题目的输入处理略坑爹,可以先当字符串读进来,然后用一个数组标记每个节点四周墙的情况,最后从两个出口搜索一遍,用流水填充,最后取两遍的较小值,然后取整个地图的最大值作为结果
/*
ID:kevin_s1
PROG:maze1
LANG:C++
*/
#include
#in...
分类:
其他好文 时间:
2014-07-20 10:00:56
阅读次数:
326
迷宫问题
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 7560
Accepted: 4426
Description
定义一个二维数组:
int maze[5][5] = {
0, 1, 0, 0, 0,
0, 1, 0, 1,...
分类:
其他好文 时间:
2014-07-19 23:48:39
阅读次数:
365
search_n
----------------------------------------------------------------------------------------
描述:在序列[first, last) 所涵盖的区间中,查找"连续 count 个符合条件之元素"所形成的子序列,
并返回迭代器 last
思路:
1.首先找出 value 第一次出现点
2.该出现点的后面是否连续出现 count - 1 个 value
3.如果是,找到了,如果不是,在当前元素后的区间重新找...
分类:
其他好文 时间:
2014-07-19 23:31:25
阅读次数:
355
lower_bound(应用于有序区间)
--------------------------------------------------------------------------------------------------------------------------
描述:二分查找,返回一个迭代器指向每一个"不小于 value "的元素,
或 value 应该存在的位置
思路:
1.循环直到区间长度为 0
2.如果 *middle < value,在后半段继续查找
3.如果 *mid...
分类:
其他好文 时间:
2014-07-19 23:30:41
阅读次数:
382
#include
#include
#include
using namespace std;
struct node
{
int x,y,step;
};
char map[105][105];
int vis[105][105];
int to[4][2]= {1,0,-1,0,0,1,0,-1};
int n,m,sx,sy,ex,ey,ans;
int check(in...
分类:
其他好文 时间:
2014-07-19 23:11:19
阅读次数:
330