亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 01.cpp

?? 用A*算法來對人工智能中的八數碼難題進行實現
?? CPP
字號:
#include <iostream.h>

#include <malloc.h>
struct node 
{
	int a[9] ;
	int g ;
	int f ;
    struct node *parent ;
} ;
struct node1
{
	struct node  *t ;
	struct node1 *next ;
} ;
int target[9]={1,2,3,8,0,4,7,6,5} ;
struct node1 *head_open ,*head_close ;

int s_Blank( int p[9])
{
	for(int i=0; i<9 ;i++ )
	if(p[i]==0) break ;
		return i ;
}

int m_Target(int p[9] )
{
	int count=9 ;
	for(int i=0 ;i<9 ;i++)
	{
		
		if(p[i]==target[i]) count-- ;
	}
	return count ;
}
int  pipei_Target(struct node *p)
{
	for(int i=0 ;i<9 ;i++)
	{
		
		if(p->a[i]!=target[i]) break ;
		//cout<<p->a[i]<<"--------"<<target[i]<<endl ;/////////////////////////////////////////////
	}
	//cout<<i<<endl ;
	if(i==9) 
	{
		cout<<"成功!!"<<endl ;
		int i1 ;
		for( i1=0 ;i1<3 ;i1++)
				cout<<target[i1]<<"    "  ;
			cout<<endl ;
			for( i1=3 ;i1<6 ;i1++)
				cout<<target[i1]<<"    " ;
			cout<<endl ;
			for( i1=6;i1<9 ;i1++)
				cout<<target[i1]<<"    "  ;
			cout<<endl ;
			cout<<endl ;
			cout<<endl ;






		while(p->parent!=NULL)
		{
			int i ;
			for( i=0 ;i<3 ;i++)
				cout<<p->parent->a[i]<<"    "  ;
			cout<<endl ;
			for( i=3 ;i<6 ;i++)
				cout<<p->parent->a[i]<<"    " ;
			cout<<endl ;
			for( i=6;i<9 ;i++)
				cout<<p->parent->a[i]<<"    "  ;
			cout<<endl ;
			cout<<endl ;
			cout<<endl ;

			p=p->parent ;
		}

		return 0 ;
	}
	else return 1 ;
}


void add_Headopen(struct node *p)
{
	
	struct node1 *q,*h ;
	q=head_open->next ;
	
	
	while(q->next!=NULL&&q->next->t->f<p->f)
	{ 
	//cout<<endl ;
		   //cout<<p->f<<"子/////上"<<q->next->t->f<<endl;	


		q=q->next ;
		
	}
	


	//int p3 ;
	//1	cin>>p3 ;
	
	h=(struct node1*) malloc(sizeof(struct node1)) ;
	h->t=p;
	h->next=q->next;
	q->next=h;
	
}







void main()
{
	struct node *p1 ;
    struct node1 *h1 ;

	int i=0,d ;
	struct node *q ;
	struct node1 *h ;
	head_open=(struct node1*) malloc(sizeof(struct node1)) ;
head_close=(struct node1*) malloc(sizeof(struct node1)) ;

	q= (struct node *) malloc(sizeof(struct node)) ;
for(i=0 ; i<9;i++ )
	{
		cin>>d ;
		q->a[i]=d  ;
 }
q->f=0;
q->g=0;
q->parent=NULL ;
   h=(struct node1*) malloc(sizeof(struct node1)) ;
   h->t=q ;
   h->next=NULL ;
   head_open->next=h ;
   head_close->next=h;
   h->next=NULL ;
   int t1=1 ;
   //////////////處理
   while(t1) 
   {
	   
	   int t,i,j,p ;
	   
	   t=s_Blank(head_open->next->t->a ) ;
	   i=t/3 ;
	   j=t%3 ;
	   /////////////////////////////////////////cout<<i<<j<<endl ;
	   /////////////////////////向左走
	   if(j-1>=0) 
	   {
		   q= (struct node *) malloc(sizeof(struct node)) ;
		   //struct node *p1 ;
	       //struct node1 *h1 ;
		   int c[9];
		   for(int i1=0 ;i1<9 ;i1++)
		   {
			   c[i1]=head_open->next->t->a[i1] ;
		   }
		   p=3*i+j-1 ;
		   //cout<<c[t]<<"--------"<<c[p]<<endl ;
		  c[t]=c[p] ;
		  c[p]=0 ;
		   //cout<<c[t]<<"--------"<<c[p]<<endl ;
		   for(int i2=0 ; i2<9;i2++ )
		   {
			   
		      q->a[i2]= c[i2] ;
			  ///////////////////////////
		   }
		   if(head_open->next->t->parent==NULL)
			   q->g=1;
		   else
		   q->g=head_open->next->t->parent->g+1 ;
		   q->f=q->g+m_Target(q->a) ;
		   
	
		   q->parent=head_open->next->t ;
		   add_Headopen(q) ;
	/////////////////////////////////////////////////////
		   /*h1=(struct node1*) malloc(sizeof(struct node1)) ;
	   p1= (struct node *) malloc(sizeof(struct node)) ;
	   h1=head_open->next->next ;
	   p1=h1->t;
	   t1=pipei_Target(p1) ;*/
	   //head_open=head_open->next ;
	   //free(h1) ;
	   //free(p1)  ;
	 

			


		   
		 
	 

	   }
	   /////////// 向上走
	   t=s_Blank(head_open->next->t->a ) ;
	   i=t/3 ;
	   j=t%3 ;
	  if(i-1>=0)
		   {
		  q= (struct node *) malloc(sizeof(struct node)) ;
	//	 struct node *p1 ;
	 //  struct node1 *h1 ;
		  int c[9];
		  for(int i1=0 ;i1<9 ;i1++)
		   {
			   c[i1]=head_open->next->t->a[i1] ;
				   //cout<<c[i1]<<"**";
		   }
		   p=3*(i-1)+j;
		   //cout<<p<<endl ;
//cout<<c[t]<<"--------"<<c[p]<<endl ;
		  c[t]=c[p] ;
		  c[p]=0 ;
		   //cout<<c[t]<<"--------"<<c[p]<<endl ;
		   for(i=0 ; i<9;i++ )
		   {
		      q->a[i]= c[i] ;
		   }
		   if(head_open->next->t->parent==NULL)
			   q->g=1;
		   else
		   q->g=head_open->next->t->parent->g+1 ;
		   q->f=q->g+m_Target(q->a) ;
		   q->parent=head_open->next->t ;
		   add_Headopen(q) ;
		   	  /* h1=(struct node1*) malloc(sizeof(struct node1)) ;
	   p1= (struct node *) malloc(sizeof(struct node)) ;
	   h1=head_open->next->next ;
	   p1=h1->t;
	   t1=pipei_Target(p1) ;
	   head_open=head_open->next ;*/


	   }
	   //////////////////向右走
        t=s_Blank(head_open->next->t->a ) ;
	   i=t/3 ;
	   j=t%3 ;

	   if(j+1<=2)
		   {
		   q= (struct node *) malloc(sizeof(struct node)) ;
		   //struct node *p1 ;
	       //struct node1 *h1 ;
		   int c[9];
		   for(int i1=0 ;i1<9 ;i1++)
		   {
			   c[i1]=head_open->next->t->a[i1] ;
		   }
		   p=3*i+j+1 ;
		   //cout<<c[t]<<"--------"<<c[p]<<endl ;
		  c[t]=c[p] ;
		  c[p]=0 ;
		   //cout<<c[t]<<"--------"<<c[p]<<endl ;
		   for(int i2=0 ; i2<9;i2++ )
		   {
			   
		      q->a[i2]= c[i2] ;
			  ///////////////////////////
		   }
		   if(head_open->next->t->parent==NULL)
			   q->g=1;
		   else
		   q->g=head_open->next->t->parent->g+1 ;
		   q->f=q->g+m_Target(q->a) ;
		   
	
		   q->parent=head_open->next->t ;
		   add_Headopen(q) ;

	   }
	   ////////////////向下走
       t=s_Blank(head_open->next->t->a ) ;
	   i=t/3 ;
	   j=t%3 ;
	   

	   if(i+1<=2)
		   {
		   q= (struct node *) malloc(sizeof(struct node)) ;
		   //struct node *p1 ;
	       //struct node1 *h1 ;
		   int c[9];
		   for(int i1=0 ;i1<9 ;i1++)
		   {
			   c[i1]=head_open->next->t->a[i1] ;
			   //cout<<head_open->next->t->a[i1]<<"_______________________"<<endl ;
		   }
		   p=3*(i+1)+j ;
		   //cout<<c[t]<<"--------"<<c[p]<<endl ;
		  c[t]=c[p] ;
		  c[p]=0 ;
		   //cout<<c[t]<<"--------"<<c[p]<<endl ;
		   for(int i2=0 ; i2<9;i2++ )
		   {
			   
		      q->a[i2]= c[i2] ;
			  ///////////////////////////
		   }
		   if(head_open->next->t->parent==NULL)
			   q->g=1;
		   else
		   q->g=head_open->next->t->parent->g+1 ;
		   q->f=q->g+m_Target(q->a) ;
		   
	
		   q->parent=head_open->next->t ;
		   add_Headopen(q) ;

	   }
	   /*h1=(struct node1*) malloc(sizeof(struct node1)) ;
	   p1= (struct node *) malloc(sizeof(struct node)) ;
	   h1=head_open->next ;
	   p1=h1->t;
	   t1=pipei_Target(p1) ;
	   head_open=head_open->next ;*/
	   h1=(struct node1*) malloc(sizeof(struct node1)) ;
	   p1= (struct node *) malloc(sizeof(struct node)) ;
	   h1=head_open->next->next ;
	   p1=h1->t;
	   t1=pipei_Target(p1) ;
	   
	   head_open=head_open->next ;
	   
	   
	 

	   





	   
   }


 /*p=(struct node *) malloc(sizeof(struct node)) ;
 for(i=0 ; i<9;i++ )
	{
		p->a[i]=q->a[i] ;
 }
 p->parent=q ;*/

 


}
   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲.国产.中文慕字在线| 一区二区三区精品在线| 欧美一区二区三区免费| 在线精品视频一区二区| 在线视频欧美精品| 欧美日韩精品一区二区天天拍小说| 91麻豆国产香蕉久久精品| 成人动漫中文字幕| 99久久国产综合精品女不卡| 91偷拍与自偷拍精品| av在线免费不卡| 欧美日韩在线三级| 日韩一区二区在线观看视频| 久久午夜羞羞影院免费观看| 国产日产精品一区| 亚洲女人的天堂| 午夜精品久久久久久不卡8050| 亚洲国产aⅴ天堂久久| 日韩精品久久理论片| 久久99久久久久久久久久久| 国产乱人伦偷精品视频不卡| 91无套直看片红桃| 欧美视频日韩视频在线观看| 91.xcao| 日韩视频永久免费| 国产视频一区不卡| 亚洲国产另类av| 蜜桃视频一区二区三区 | 国产不卡视频在线观看| 国产成人免费在线视频| 在线亚洲免费视频| 日韩欧美在线一区二区三区| 国产精品国产精品国产专区不片| 亚洲一级片在线观看| 精品一区二区三区免费毛片爱 | 国产精品久久久久久久久免费丝袜 | 777精品伊人久久久久大香线蕉| 91精品国产综合久久精品图片| 精品国产污网站| 中文在线一区二区| 日韩vs国产vs欧美| thepron国产精品| 日韩一区二区三区视频在线| 国产精品不卡一区| 无码av免费一区二区三区试看 | 美日韩黄色大片| 97久久超碰精品国产| 精品国产亚洲一区二区三区在线观看| 国产精品视频在线看| 亚洲国产美女搞黄色| 国产福利精品一区二区| 欧美日韩国产高清一区二区三区 | 国产美女精品一区二区三区| 欧美亚洲一区二区在线观看| 国产人成一区二区三区影院| 日本人妖一区二区| 欧美在线观看18| 综合电影一区二区三区| 国产精品自拍毛片| 精品国产成人系列| 麻豆国产精品视频| 欧美一卡二卡在线观看| 亚洲午夜激情av| 在线免费av一区| 一区二区三区在线观看欧美| 91麻豆高清视频| 综合欧美一区二区三区| 粉嫩一区二区三区在线看| 精品国产乱码久久久久久闺蜜| 性感美女极品91精品| 在线观看视频一区二区| 亚洲午夜视频在线观看| 99热99精品| 亚洲天堂av老司机| 91毛片在线观看| 夜夜揉揉日日人人青青一国产精品 | 美女网站色91| 欧美一区二区久久| 麻豆91精品视频| 日韩精品资源二区在线| 久久99久久99| 久久久蜜桃精品| 成人国产精品免费观看动漫| 中文字幕中文乱码欧美一区二区| 国产成人精品aa毛片| 亚洲欧美影音先锋| 在线视频一区二区免费| 亚洲福利电影网| 日韩欧美一区二区在线视频| 久久国产人妖系列| 国产欧美一区二区精品性| 懂色av中文一区二区三区| 国产精品久久一卡二卡| 色综合一个色综合| 午夜精品久久久久久久蜜桃app| 8x福利精品第一导航| 国产资源精品在线观看| 中文字幕精品一区二区三区精品| 99久久久无码国产精品| 亚洲乱码日产精品bd| 91.麻豆视频| 国产成人aaa| 亚洲一卡二卡三卡四卡五卡| 精品美女一区二区三区| www.欧美亚洲| 日韩激情av在线| 国产三级三级三级精品8ⅰ区| 91视频精品在这里| 免费在线视频一区| 亚洲免费在线看| 日韩一区二区三区av| 99综合电影在线视频| 日日骚欧美日韩| 国产精品九色蝌蚪自拍| 91麻豆精品91久久久久久清纯| 风间由美性色一区二区三区| 亚洲国产精品久久久久婷婷884| 久久综合资源网| 欧美日韩一级黄| 成人精品视频一区| 青青草一区二区三区| 亚洲精品日产精品乱码不卡| 精品久久一区二区三区| 欧美日本一区二区在线观看| 成人一区在线观看| 久久精品99久久久| 亚洲电影一级片| 亚洲色图.com| 中文字幕av资源一区| 欧美va亚洲va| 91.com在线观看| 欧美日韩高清一区| 91国产免费观看| 暴力调教一区二区三区| 国产伦精品一区二区三区在线观看| 亚洲成a人片综合在线| 亚洲桃色在线一区| 国产精品女主播在线观看| www激情久久| 日韩一二在线观看| 91精品国产品国语在线不卡 | 蜜桃一区二区三区在线观看| 亚洲综合区在线| 亚洲欧美激情在线| 中文字幕日韩一区| 国产精品色噜噜| 国产性色一区二区| 欧美韩国日本不卡| 亚洲国产成人午夜在线一区 | 亚洲香肠在线观看| 亚洲美女屁股眼交| 亚洲一区二区在线免费观看视频| 日韩一区欧美一区| 日韩美女视频一区| 最新久久zyz资源站| 中文字幕亚洲一区二区av在线 | 日韩一区二区三区高清免费看看 | 久久精品噜噜噜成人av农村| 男女男精品视频| 久色婷婷小香蕉久久| 精品一区二区久久| 国产精品资源在线| 福利电影一区二区三区| av激情亚洲男人天堂| 99久久精品国产一区| av不卡一区二区三区| 91在线视频播放地址| 欧美在线色视频| 日韩一区二区三区电影| 久久久久久久久伊人| 中文字幕日韩一区| 亚洲午夜视频在线| 国产综合久久久久久鬼色| 成人性色生活片免费看爆迷你毛片| 成人动漫一区二区三区| 日本高清免费不卡视频| 91精品国产欧美一区二区18 | 99视频精品在线| 一本久久综合亚洲鲁鲁五月天| 欧美影院精品一区| 久久综合久久综合久久| 国产精品国产三级国产aⅴ中文| 亚洲色图视频免费播放| 性做久久久久久免费观看| 国产综合色精品一区二区三区| 成人av网站免费| 337p亚洲精品色噜噜狠狠| 久久九九国产精品| 亚洲h在线观看| 成人美女视频在线观看| 欧美三区在线视频| 国产欧美精品在线观看| 亚洲高清久久久| 波波电影院一区二区三区| 555www色欧美视频| 亚洲图片另类小说| 韩国一区二区视频| 欧美日韩高清一区二区三区| 国产精品人成在线观看免费| 日本视频中文字幕一区二区三区|