国际象棋中用8个皇后摆在不同的格而且互相不牵制有多少种不同的摆法
2016-07-01 18:46
330 查看
#include "iostream" //#include <vector> using namespace std; int count = 0; bool IsDuiJiao(int a[],int data,int cur) { for (int i=0; i<cur; i++) { if (abs(cur-i) == abs(data - a[i])) { return true; } } return false; } bool HasIn(int a[],int data,int cur) { for (int i=0; i<cur; i++) { if (data == a[i]) { return true; } } return false; } void AllSort(int a[],int l,int cur) { if (cur<l) { for (int i=0; i<8; i++) { if ((!HasIn(a,i,cur))&&(!IsDuiJiao(a,i,cur))) { a[cur] = i; AllSort(a,l,cur+1); } } }else { //for (int i=0;i<l;i++) //{ // cout<<a[i]<<" "; //} //cout<<endl; for (int i=0;i<l;i++) { for (int j=0;j<l;j++) { if (a[i] == j) { cout<<"1"<<" "; } else { cout<<"0"<<" "; } } cout<<endl; } count++; cout<<endl; } } void main(void) { int pai[8]; AllSort(pai,8,0); cout<<"共有"<<count<<"种摆法。"<<endl; getchar(); }
相关文章推荐
- JQuery 国际象棋棋盘 实现代码
- 用Python编写一个国际象棋AI程序
- 【python】编程语言入门经典100例--9
- for循环输出<国际象棋>
- uva-439 - HDOJ-1372-Knight Moves-翻译详解-BFS
- 06-打印国际象棋
- 18-打印国际象棋Dev C++
- 八皇后
- 比尔盖茨为什么输的这么惨?9步80秒
- 高功劳下中国劳工的悲伤
- 王车易位
- until小例子
- 数据结构国际象棋中的马跳棋盘问题
- nginx fastcgi php-fpm的关系梳理
- hive实现json数组拆解
- ios Debug Release,的NSlog显示问题
- Tomcat配置虚拟路径,使上传文件与服务器及工程文件分离
- 理想带阻滤波器
- ios 回文函数
- Windows 小端存储