【题解】洛谷P2324 骑士精神(A*算法 启发式搜索)
第一眼看到就可以枚举空白格子位置然后跑bfs,处理一些细节就可以,这样的话最优能30分。为了让程序跑的更快,我们可以在读入队列某个元素时记录其和目标状态对应位置不同的数量,因为交换一下最多能消去两个格子(第一次),其他情况最多能消去一个格子,所以当前的步数+数量>16或者当前步数>=15(这里可以为等于因为在其前面已经有循环保证如果步数为15就输出结果并return)。这样还有一个...
原创
2018-08-19 22:32:19 ·
846 阅读 ·
0 评论