OL; j++) {Р cin >> number;Р src.digit[i][j] = number;Р }Рsrc.index = 0;Рsrc.dep = 1;Рcout << "输入目标状态" << endl;Рfor (int m = 0; m < ROW; m++)Р for (int n = 0; n < COL; n++) {Р cin >> number;Р dest.digit[m][n] = number;Р }Рnode_v.push_back(src);Рwhile (1) {Р if (isEmptyOfOPEN()) {Р cout << "找不到解!" << endl;Р return -1;Р }Р else {Р int loc; // the location of the minimize nodeР loc = GetMinNode();Р if(isEqual(loc, dest.digit)) {Р vector<Node> rstep_v;Р cout << "初始状态:" << endl;Р cout << src << endl;Р PrintSteps(loc, rstep_v);Р cout << "成功!" << endl;Р break;Р }Р else Р ProcessNode(loc);Р }Р}Рreturn 0;Р}Р实验心得:Р不得不说这次的实验内容真的好难,涉及到的算法很复杂也很抽象,但是这次实验确实让我的编程能力有了很大的提高,让我对人工智能技术有了更深一步的认识,在解决问题和算法设计方面也有了很大的提高。这次实验我花了好几天的时间去查找资料,阅读并消化,最后采用了深度优先算法解决了八数码难题。这次实验让我明白了一个问题一开始无论看起来有多么困难,只要你能花时间去研究就一定能找出解决问题的方法。