OpenJ_Bailian
来源:互联网 发布:发达国家粉碎机 知乎 编辑:程序博客网 时间:2024/05/24 16:15
按给定顺序和格式输出所有八皇后问题的解(见Sample Output)。
Sample Output
No. 1
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
No. 2
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0
No. 3
1 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
No. 4
1 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
No. 5
0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
No. 6
0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0
No. 7
0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0
No. 8
0 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
No. 9
0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0
......
Sample Code
#include<cstdio>#include<cstdlib>#include<cstring>int board[10];int n=8,cnt; void print_queen(int *board){//原题目输出的结果行列互换 printf("No. %d\n",cnt);for(int j=0;j<8;j++){for(int i=0;i<8;i++){if(board[i]==j)printf("1 ");else printf("0 ");}printf("\n");}//system("pause");} void search(int row){if(row==n){cnt++;print_queen(board); }else for(int i=0;i<n;i++){bool judge=true;board[row]=i;//尝试把第cur行的皇后放在第i列 for(int j=0;j<row;j++)//检查是否和前面的皇后冲突(主对角线用y-x标识,副对角线用x+y标识) if(board[row]==board[j] || row-board[row]==j-board[j] || row+board[row]==j+board[j]){judge=false;break;}if(judge==true)search(row+1);}}int main(){search(0);return 0;}
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian
- OpenJ_Bailian - 3421
- OpenJ_Bailian - 3859
- OpenJ_Bailian - 4120
- OpenJ_Bailian 4118
- OpenJ_Bailian 2788
- 【埃氏筛法】 OpenJ_Bailian
- 51采集PCF8591数据通过ESP8266上传C#上位机
- Maven_基础
- 从零开始的指针的应用2--符号
- java中JVM的原理
- Android NDK 开发:CMake 使用
- OpenJ_Bailian
- Java面试题
- 更换yum源的步骤
- 正则表达式匹配
- 你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的...
- Type中的3个bool属性: IsGenericType , IsGenericTypeDefinition , IsGenericParameter 标签: 泛型TypeC# 2015-05-20
- 【CSP201609-2】火车购票
- Drozer的安装和使用(-)
- javax.el.PropertyNotFoundException