2698:八皇后问题
来源:互联网 发布:孩子学编程的优缺点 编辑:程序博客网 时间:2024/05/21 22:37
2698:八皇后问题
- 查看
- 提交
- 统计
- 提示
- 提问
- 总时间限制:
- 10000ms
- 内存限制:
- 65536kB
- 描述
- 在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。
- 输入
- 无输入。
- 输出
- 按给定顺序和格式输出所有八皇后问题的解(见Sample Output)。
- 样例输入
- 样例输出
No. 11 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. 21 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. 31 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. 41 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. 50 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. 60 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. 70 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. 80 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. 90 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 ...以下省略
- 提示
- 此题可使用函数递归调用的方法求解。
- 来源
- 计算概论05
#include "iostream"#include "algorithm"#include "cmath"using namespace std;int Map[9][9];int T;bool Judge(int x,int y){ int i,j; for(i=1;i<=x-1;i++) {for(j=1;j<=8;j++){if(Map[i][j]==1){if(y==j || fabs(x-i)==fabs(y-j) ){return false;}}}} return true;}void Output(){ cout<<"No. "<<T<<endl; int i,j;for(i=1;i<=8;i++){for(j=1;j<=8;j++){if(i>j){int item;item=Map[i][j];Map[i][j]=Map[j][i];Map[j][i]=item;}}} for(i=1;i<=8;i++){for(j=1;j<=8;j++){cout<<Map[i][j]<<" ";}cout<<endl;} for(i=1;i<=8;i++){for(j=1;j<=8;j++){if(i>j){int item;item=Map[i][j];Map[i][j]=Map[j][i];Map[j][i]=item;}}} }void Dfs(int x){ int i; if(x==9){ T++; Output(); return;}for(i=1;i<=8;i++) { Map[x][i]=1;if(Judge(x,i))Dfs(x+1);Map[x][i]=0;}}int main( ) { freopen("1.txt","w",stdout);T=0; Dfs(1); return 0;}
0 0
- 2698:八皇后问题
- poj 2698 八皇后问题
- poj 2698 八皇后问题
- poj 2698:八皇后问题
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- [解题报告]POJ-2698-八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题(2)
- 八皇后问题(3)
- 八皇后问题
- 八皇后问题程序
- 浅谈八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 一些关于android屏幕的小知识
- 浅谈C语言中结构体的初始化
- 3种Java从文件路径中获取文件名的方法
- CodeForces 84AToy Army
- Bluemix中的Apache Spark数据分析服务入门
- 2698:八皇后问题
- CodeForces 96AFootball
- 树莓派搭建L2TP/IPSec
- mvp模式
- 【LeetCode】92. Reverse Linked List II
- 微信公众号接入
- Oracle开发实战-字符函数
- 如何退出一个app
- 人生,青春