欢迎来到天天文库
浏览记录
ID:56123205
大小:92.00 KB
页数:5页
时间:2020-06-20
《八皇后问题作品报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、八皇后问题作品报告八皇后问题:国际象棋中,皇后可以在横、竖、斜线上不限步数地吃掉其他棋子,如何将8个皇后放在8×8的棋盘上,使得它们不能互相攻击?源代码://八皇后问题源代码#include"stdio.h"#defineN9intlocate[N]={0};//0号单元不用,locate[m]=n表示第m行第n列中放入皇后intnum=0;//用来标记八皇后的解法种类voidTrial(inti,intn){intm,p,q;if(i>n){for(m=1;m2、m++;printf("");}else{for(p=1;p3、4、p==locate[q]+(i-q)5、6、p==locate[q]-(i-q)){break;}}if(q==i){locate[i]=p;Trial(i+1,N-1);}}}}voidmain(){intj;for(j=1;j7、num);}使用方法:上述程序采用了递归调用和近似于枚举的方法。本程序采用一行一行进行搜索,排除同一列(p==locate[q]),同一对角线上(p==locate[q]+(i-q)8、9、p==locate[q]-(i-q))的位置,然后进行递归。结果展示:
2、m++;printf("");}else{for(p=1;p3、4、p==locate[q]+(i-q)5、6、p==locate[q]-(i-q)){break;}}if(q==i){locate[i]=p;Trial(i+1,N-1);}}}}voidmain(){intj;for(j=1;j7、num);}使用方法:上述程序采用了递归调用和近似于枚举的方法。本程序采用一行一行进行搜索,排除同一列(p==locate[q]),同一对角线上(p==locate[q]+(i-q)8、9、p==locate[q]-(i-q))的位置,然后进行递归。结果展示:
3、
4、p==locate[q]+(i-q)
5、
6、p==locate[q]-(i-q)){break;}}if(q==i){locate[i]=p;Trial(i+1,N-1);}}}}voidmain(){intj;for(j=1;j7、num);}使用方法:上述程序采用了递归调用和近似于枚举的方法。本程序采用一行一行进行搜索,排除同一列(p==locate[q]),同一对角线上(p==locate[q]+(i-q)8、9、p==locate[q]-(i-q))的位置,然后进行递归。结果展示:
7、num);}使用方法:上述程序采用了递归调用和近似于枚举的方法。本程序采用一行一行进行搜索,排除同一列(p==locate[q]),同一对角线上(p==locate[q]+(i-q)
8、
9、p==locate[q]-(i-q))的位置,然后进行递归。结果展示:
此文档下载收益归作者所有