题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043
因为状态不多,在样例不多的情况下,直接bfs也是能过的(POJ),但是对于样例多的HDU,需要把所有可能的结果都预处理一遍存起来,要的时候直接输出结果,就能快很多。
网上很多代码都有用康托展开做空间优化,不用康托展开优化,用一个map存结果,也是能过的,下面写了两个。
要注意的是,你bfs是反向扩展的,所以,方向和顺序都要反过来。
如果你存的结果也是char类型的,记的在后面补上 '\0'。
具体康托展开的原理可以参考我之前写的博客:https://blog.csdn.net/godleaf/article/details/86818162
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include