使用 A* 算法
解决八数码问题
估价函数h1
放错位置数目的数字的个数估价函数h2
所有数字当前位置以最短路径走到正确位置的步数之和
解决九数码问题
此处将空格变成0
,在计算估值的时候包含,移动规则与八数码相同
g++ ./src/main.cpp ./src/astar.hpp -o a -std=c++11
a.exe [估价函数] [八数码问题or九数码问题]
- 使用估价函数h1解决八数码问题
# 方式1 a.exe # 方式2 a.exe h1 # 方式2 a.exe h1 8
- 使用估价函数h1解决八数码问题
# 方式1 a.exe h2 # 方式2 a.exe h2 8
- 使用估价函数h1解决九数码问题
a.exe h1 9
- 使用估价函数h2解决九数码问题
a.exe h2 9
- 输入的检查比较少,请按照提示输入,否则可能出现神奇的
bug