2012年5月27日

UVa 10181 - 15-Puzzle Problem

摘要: 题目链接不好找:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1122用的 IDA*,跑了6.536s,时限是45s(刚看了627个人通过,我是第515名……,排行榜比较恐怖啊,见下图)这道题的逆序剪枝和八数码不同,具体参考这篇文章:http://mathworld.wolfram.com/15Puzzle.html1A! 1 # include <stdio.h> 2 # include <math.h> 阅读全文

posted @ 2012-05-27 13:09 getgoing 阅读(1757) 评论(0) 推荐(0) 编辑

ZOJ 1217 eight

摘要: 八数码,双广、A*都超时了(可能是写得不好),IDA*通过了;在POJ上是16MS(和双广一样,A* 60MS左右),HDOJ上是800MS左右(双广是500MS),ZOJ上只有IDA*没超时(2480MS)。 1 # include <stdio.h> 2 # include <math.h> 3 # include <string.h> 4 5 # define MIN(x, y) ((x)<(y) ? (x):(y)) 6 7 # define N 9 8 # define DIR_N 4 9 # define INF 0x7fffffff 10 阅读全文

posted @ 2012-05-27 01:07 getgoing 阅读(1217) 评论(0) 推荐(0) 编辑

八数码(IDA*)

摘要: IDA*+曼哈顿 相当快! 通过五组数据总计用时 0.015000 s.把宏定义中的N和SIZE改一下,就可以处理十五数码问题了,终于修炼到第八层了;刚开始还是使用结构体定义了状态,写得相当麻烦,后来发现IDA*中不像BFS和A*,只需要考虑一条路,,参考了lym(http://www.cnblogs.com/liyongmou/archive/2010/07/19/1780861.html)的(后面调试的受不了了,对照着此大牛的代码一点点改,最后发现是更新状态时,npos写成了pos……)# include <stdio.h># include <math.h># i 阅读全文

posted @ 2012-05-27 00:51 getgoing 阅读(2013) 评论(0) 推荐(0) 编辑

导航