N皇后问题
来源:互联网 发布:2017网络事件 编辑:程序博客网 时间:2024/06/05 21:23
输入一个正整数N,则程序输出N皇后的全部摆法。输出的每一行都代表一种摆法。
行里的第i个数字如果是n,就代表第i行的皇后应该放在第n列。
皇后的行、列编号都是从1开始算。
样例输入:
4
样例输出:
2 4 1 3
3 1 4 2
解析:先看前0~k-1行是否摆好 再考虑第k行
#include<iostream>#include<cmath>using namespace std;int N;int queenPos[100];//第i行摆的皇后的列号 void NQueen(int k);int main(){cin>>N;NQueen(0);return 0;}void NQueen(int k){int i;if(k==N){for(i=0;i<N;i++)cout<<queenPos[i]+1<<" ";cout<<endl;return;}for(i=0;i<N;i++)//列 {int j;for(j=0;j<k;j++)//行 {if(queenPos[j]==i||abs(queenPos[j]-i)==abs(k-j))//比较是否相邻 列号相等或行的差和列的差相等都为相邻 break;}if(j==k){queenPos[k]=i;NQueen(k+1);}}}
1 0
- N*N皇后问题
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- N皇后问题
- n皇后问题
- N皇后问题
- N 皇后问题
- N皇后问题
- N皇后问题算法
- N 皇后问题
- N皇后问题
- N皇后问题
- n皇后问题
- N皇后问题
- N皇后问题优化
- N皇后问题
- n皇后问题
- N皇后问题
- SparkSQL 入门操作
- acdream1234(Simpson积分)
- java中类加载的全过程及内存图分析
- c3p0和QueryRunner的结合使用,让开发更加简便
- 我学JUC之LockSupport
- N皇后问题
- 【学习笔记】6.包含多个段的程序
- Java从入门到精通阅读笔记(第4版)11
- CCF201612-2
- 【C++数据结构】模板链栈
- 递归函数理解
- Hexo搭建博客以及多端同步更新
- Android移动应用开发学习笔记(二)——用户注册
- iOS中的MD5加密方法