您的位置:首页 > 产品设计 > UI/UE

leetcode-52-N-Queens II

2015-06-23 21:38 555 查看


N-Queens II

Follow up for N-Queens problem.

Now, instead outputting board configurations, return the total number of distinct solutions.



n皇后问题
详文请见八皇后

leetcode AC代码

class Solution {
public:
int num;
void queen(int* a,int n,int m){   //填充第m个
if(m==n) num++;
else{
for(int i=0;i<n;i++){ //  填充有n个选择
int ok=1;
for(int j=0;j<m;j++){
if(i==a[j]||abs(i-a[j])==abs(j-m)){  // 第
ok=0;break;
}
}
if(ok){
a[m]=i;
queen(a,n,m+1);
}
}
}
}
int totalNQueens(int n) {
int a[100],i,j; //a[i]代表第i行(每一行一个皇后)的皇后在a[i]列
num=0;
queen(a,n,0); // 一开始填充第0个皇后的位置
return num;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: