#include<stdio.h>
#include<conio.h>
int n,m;
typedef struct Node
{
char matrix[10];/*存储矩阵*/
char operate;/*存储不可以进行的操作,L代表不能左移R代表不能右移U代表不能上移D代表不能下移*/
char extend;/*是否可以扩展,Y代表可以,N代表不可以*/
int father;/*指向产生自身的父结点*/
}Node;
char start[10]={"83426517 "};/*此处没有必要初始化*/
char end[10]={"1238 4765"};/*此处没有必要初始化*/
Node base[4000];
int result[100];/*存放结果的base数组下标号,逆序存放*/
int match()/*判断是否为目标*/
{
int i;
for(i=0;i<9;i++)
{
if(base[n-1].matrix[i]!=end[i])
{
return 0;
}
}
return 1;
}
void show()/*显示矩阵的内容*/
{
int i=1;
while(m>=0)
{
int mm=result[m];
clrscr();
printf("/n/n/n http://www.zhensoft.com ZHEN SHI LEI/t/tStep %d",i);
printf("/n/n/n/n/n/t/t/t%c/t%c/t%c/n",base[mm].matrix[0],base[mm].matrix[1],base[mm].matrix[2]);
printf("/n/n/t/t/t%c/t%c/t%c/n",base[mm].matrix[3],base[mm].matrix[4],base[mm].matrix[5]);
printf("/n/n/t/t/