分享
 
 
 

骑士漫游和八皇后

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

/******************************qishi *****************************/

#include <stdio.h>

#include <conio.h>

strUCt memory

{int sence[8][8] ;

int board[8][8] ;

int mem[8] ;

int last ;

} mem[64] ;

int h[8]= ;

int v[8]= ;

int board[8][8]= ;

int sence[8][8]=,

,

,

,

,

,

,

} ;

int row, col,hty=0 ;

int comeon(void) ;

void goback(void) ;

int findmin(int[]) ;

void savemem(int) ;

void altsence(void) ;

void print() ;

void printmem(int) ;

/* PREPARE */

void prepare(void)

{int i, j, ha[8],va[8] ;

for(i=0; i<64; i++)

{ mem[i].last=-1 ;

for(j=0; j<8; j++)

mem[i].mem[j]=0 ;

}

printf("Input Begin Point :

") ;

scanf("%d%d",row,col) ;

board[row][col]=1 ;

for(i=0; i<8; i++)

{ha[i]=row + h[i] ;

va[i]=col + v[i] ;

if( ha[i]>=0 && ha[i]<=7 && va[i]>=0 && va[i]<=7 )

sence[ha[i>[va[i>-- ;

}

savemem(0) ;

/*print(hty) ; */

hty++ ;

}

/* COMEON!! */

int comeon(void)

{int i, ha[8], va[8], b[8]=, info=0 ;

for(i=0; i<8; i++)

{ ha[i]=row+h[i] ;

va[i]=col+v[i] ;

if( ha[i]>=0 && ha[i]<=7 && va[i]>=0 && va[i]<=7 )

if( board[ha[i>[va[i>==0 && mem[hty].mem[i]!=1 )

b[i]=sence[ha[i>[va[i> ;

}

i=findmin(b) ;

if( b[i]!=9 ) ;

{row=ha[i] ;

col=va[i] ;

board[ha[i>[va[i>=1 ;

altsence() ;

savemem(i) ;

/*printmem(hty) ; */

hty++ ;

info=1 ;

}

return (info) ;

}

/* GOBACK~~ */

void goback(void)

{int i,j ;

hty--;

board[row][col]=0 ;

row = row - h[mem[hty].last] ;

col = col - v[mem[hty].last] ;

mem[hty].mem[mem[hty+1].last] = 1 ;

for(i=0; i<8; i++)

for(j=0; j<8; j++)

sence[i][j]=mem[hty].sence[i][j] ;

}

/* PRINT */

void print(void)

{int i;

for(i=0; i<64; i++)

{clrscr();

printmem(i) ;

getchar() ;

}

}

/* PRINTMEM */

void printmem(int ht)

{int i, j;

printf("No.%d Step;

",ht) ;

for(i=0; i<8; i++)

{for(j=0; j<8; j++)

if( mem[ht].board[i][j]==0)

printf("O ") ;

else

printf("H ") ;

printf("

") ;

}

}

/* ALTSENCE */

void altsence(void)

{int i, ha[8], va[8] ;

for(i=0; i<8; i++)

{ha[i]=row + h[i] ;

va[i]=col + v[i] ;

if( ha[i]>=0 && ha[i]<=7 && va[i]>=0 && va[i]<=7 )

sence[ha[i>[va[i>-- ;

}

}

/* SAVEMEM */

void savemem(int lt)

{int i,j ;

mem[hty].last=lt ;

for(i=0; i<8; i++)

for(j=0; j<8; j++)

{mem[hty].sence[i][j] = sence[i][j] ;

mem[hty].board[i][j] = board[i][j] ;

}

}

/* FINDMIN */

int findmin(int c[8])

{int i,j=0 ;

for(i=0; i<8; i++)

if( c[i] < c[j] )

j=i ;

return (j) ;

}

/* MAIN */

main()

{int i;

prepare() ;

i=comeon();

while( hty<64 )

{ if(i)

i=comeon() ;

else

{goback() ;

i=1;

}

}

print();

}



/*************************** 8 queen *********************************/

#include <stdio.h>

int col[8] , temp=0 ;

void qu(int n)

{

int pan(int) ;

void pri(void) ;

int t;

if(n==0)

t=4 ;

else

t=8 ;

for(col[n]=0; col[n]<t; col[n]++ )

{if(pan(n)) continue ;

if (n!=7)

qu(n+1);

else

pri() ;

}

}

void pri(void)

{

int i, j;

for (i=0; i<8; i++)

{for (j=0; j<8; j++)

{if( col[i]==j )

printf("Q ") ;

else

printf("X ") ;

}

printf("

") ;

}

temp++ ;

printf("

%d

",temp) ;

getchar();

}

int pan(int t)

{

int i,n=0 ;

for(i=0; i<t; i++)

{if (col[i]==col[t])

{n=1; break;}

if( (col[t]+t) == (col[i]+i) )

{n=1; break;}

if( (col[t]-t) == (col[i]-i) )

{n=1; break;}

}

return(n);

}

main()

{

printf("

") ;

qu(0);

printf("%dEnd

",temp) ;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有