网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.实现C语言高效编程的四大秘技.
.可怜的Bool——浅析程序可扩展性.
.几个游戏代码(机器人大战).
.行==列==对角线 ◎ 魔幻矩阵.
.C++ Builder 可视化组.
.C++数据结构学习:事件驱动模拟.
.算法.
.C++箴言:接口继承和实现继承.
.C语言已经死了,5个需要忘却它的.
.C++箴言:访问模板化基类中名字.
.C++ Builder 初学问与答(三).
.C语言数组排序小结.
.C语言库函数(O类字母).
.C++程序设计之四书五经(上篇).
.自己写程序揭开cmos密码.
.WinHelp API命令方法.
.MINI-FOOLFLY 游戏代码.
.链表的c语言实现(一).
.Nokia S60编程环境的建立.
.霍夫曼树编码的实现.

骑士漫游和八皇后

发表日期:2008-3-8


/******************************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) ; }  


上一篇:More Effective C++之效率 人气:473
下一篇:蛇吃蛋 人气:458
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐