题目链接:http://poj.org/problem?id=1077思路分析:题目要求在找出最短的移动路径,使得从给定的状态到达最终状态。搜索算法选择:由于需要找出最短的移动路径,所以选择bfs搜索判重方法:将空格视为数字9,则可以将状态的集合视为1-9的排列组合的集合,根据康托展开,将每一个状态...
分类:
其他好文 时间:
2015-05-07 00:44:09
阅读次数:
233
立体八数码,双向BFS+二进制状态压缩,Very Hard.
分类:
其他好文 时间:
2015-05-04 13:45:42
阅读次数:
376
给出一个最大为16×16的迷宫图和至多3个ghost的起始位置和目标位置,求最少经过几轮移动可以使三个ghost都到达目标位置。每轮移动中,每个ghost可以走一步,也可以原地不动,需要注意的是任意两个ghost不能在相同的位置,因此也不能出现任意两个ghost对穿,也就是原来是ab,移动之后是ba。每个迷宫图'#'表示墙,' '表示空地,小写字母表示ghost的起始位置,大写字母表示对应ghos...
分类:
其他好文 时间:
2015-04-29 11:52:03
阅读次数:
1996
Find a way
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4854 Accepted Submission(s): 1650
Problem Description
Pass a year learnin...
分类:
其他好文 时间:
2015-04-04 12:16:58
阅读次数:
155
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1430 , 一道比较好的题。 这道题要用到很多知识,康托展开、BFS、打表的预处理还要用到一一映射,做完受益匪浅。 其实这道题也可以用双向BFS来写,思路也已经有了,过几天再来写。 本文持续更新...
分类:
其他好文 时间:
2015-03-18 00:54:48
阅读次数:
243
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1195 , 双向BFS或者直接BFS也可以过。 其实这道题只是单向BFS就可以过的,但是为了练算法,所以还是用了双向BFS来写。算法: 先预处理一下,从1111到9999的所有点进行构图(由于是1...
分类:
其他好文 时间:
2015-03-14 01:01:59
阅读次数:
190
双向BFS。注意,任何一个点出队后,首先需要考虑ghost。 1 /* 3085 */ 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 ...
分类:
Web程序 时间:
2015-02-27 17:00:10
阅读次数:
192
转自tangjz的博客...基础算法模拟搜索广度优先搜索(BFS)优化:双向BFS深度优先搜索(DFS)优化:折半DFS迭代加深搜索(IDS)启发式搜索(Astar)优化:IDAstar优化:剪枝、位运算排序冒泡排序/选择排序基数排序/桶排序计数排序插入排序/希尔排序快速排序归并排序/求逆序对数堆排...
分类:
编程语言 时间:
2015-02-23 10:50:21
阅读次数:
330
双向BFS+状态压缩。 1 /* 1401 */ 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std; 10 11 st...
分类:
其他好文 时间:
2015-02-20 17:26:47
阅读次数:
184
/*转自http://blog.csdn.net/custqi/article/details/6455425感觉对双向广搜写得挺清楚的*/ 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 301;...
分类:
其他好文 时间:
2015-02-15 20:33:54
阅读次数:
143