首页 > 代码库 > [BZOJ 1085][SCOI2005]骑士精神(IDA*)

[BZOJ 1085][SCOI2005]骑士精神(IDA*)

题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1085

分析:

首先第一感觉是宽搜,但是空间需要8^15*5*5,明显不够,又鉴于最大深度为15,所以可以用迭代加深做。

但是普通的迭代加深还是会TLE。于是考虑加上估价函数

设当前层数的上界为Kmax,当前搜索的层数为K,我们知道一次移动顶多改变目前矩阵和目标矩阵的一个差别,于是可以求出当前与目标矩阵不同的位置的个数s,如果k+s>Kmax那么就可以直接不做了。

[BZOJ 1085][SCOI2005]骑士精神(IDA*)