N皇后问题
来源:互联网 发布:怎么申请淘宝卖家 编辑:程序博客网 时间:2024/06/05 23:42
N皇后问题
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 18 Accepted Submission(s) : 9
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。
你的任务是,对于给定的N,求出有多少种合法的放置方法。
你的任务是,对于给定的N,求出有多少种合法的放置方法。
Input
共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。
Output
共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。
Sample Input
1850
Sample Output
19210
#include <stdio.h>#include <iostream>#include <cmath>using namespace std;int sum,x[11];int n;bool place(int k){ for(int i=1;i<k;i++) { if(abs(x[i]-x[k])==abs(k-i)||x[i]==x[k]) { return false; } } return true;}void backtrack(int k){ if(k>n) sum++; else { for(int i=1;i<=n;i++) { x[k]=i; if(place(k)) { backtrack(k+1); } } }}int main(){ int ans[11]; for(n=1;n<11;n++) { sum=0; backtrack(1); ans[n]=sum; } while(scanf("%d",&n)!=EOF&&n) { printf("%d",ans[n]); cout<<endl; } return 0;}
0 0
- N*N皇后问题
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- N皇后问题
- n皇后问题
- N皇后问题
- N 皇后问题
- N皇后问题
- N皇后问题算法
- N 皇后问题
- N皇后问题
- N皇后问题
- n皇后问题
- N皇后问题
- N皇后问题优化
- N皇后问题
- n皇后问题
- N皇后问题
- Android 6.0 wif的变动
- 1250: 素数回文
- 作用域问题
- 6.3 Android Framework - LayerDrawable
- Aliyun oss实现(一),向STS申请临时SecretToken
- N皇后问题
- xclip 操作Linux剪切板
- ios 文字变色
- TCP连接建立与断开
- Struts原理最经典的回答面试官的题目
- JAVA中的作用域public、private、protected、default深度理解,为什么这么做?
- 队列的实现
- C语言中的强符号和弱符号(变量篇)
- BZOJ 1588 营业额统计(伸展树)