为什么估价是16,因为最后一步复原空格可以恢复两个位置,当然设成17.18都可以. #include<bits/stdc++.h> using namespace std; typedef long long ll; struct State { char g[5][6]; //矩阵的状态,0是白马,1是黑马,规定空格是* int hstep; //step+估价函数,至少需要的步数 State() {} int h(); //估价函数h,为未归位的骑士数 void move_to(int i…