人工智能里的八数码问题怎么样用C++语言实现

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:12:40
如果能给出程序的代码详细解释,我会付更多的积分。

八数码问题
有一个3*3的棋盘,其中有0-8 9个数字,0表示空格,其他的数字可以和0交换位置。求由初始状态
1 2 3
4 5 6
7 8 0
到达目标状态步数最少的解。

其典型算法是广度优先搜索,具体算法是:
struct 类名 m_ar[可能结点数];
int h,r
main()
{
h=0;r=1;
while ((h<r)&&(r<可能结点数))
{
if (判断每一种可能性,如果某一种操作符合要求)
&nbs……

请描述一下具体问题