IDA* 的估价函数需要满足条件:不能超过实际步数。
许多题解包括高赞题解都是,仅仅统计了与目标状态不同的棋子数量,这是不正确的,每次移动了棋子最多可能改动两个位置。如果是这种情况
11111 01111 00011 *0001 00000
实际只需要 1 步即可完成。这样会导致 IDA* 存在错误,至于他们是如何过去的我不清楚了,我也不知道如何 hack 掉他们。