树的递归回溯 n皇后问题
2011-11-13 12:16
387 查看
#include <iostream> #include <memory.h> using namespace std; int row[20]; int k,n; int total=0; void trial(int k){ int i=0; if(k>=n){ total++; for(int i=0;i<n;i++) cout<<i<<","<<row[i]<<endl; cout<<endl; } else{ for(;i<n;i++){ int flag=1; for(int j=0;j<k;j++){ //check the columns before if(i==row[j] || //同一列 i-k==row[j]-j || //对角线 k+i==row[j]+j //反对角线 ){ flag=0; //不符合条件 break; } }//for if(flag){ //符合条件 row[k]=i; trial(k+1); } }//for } } int main(){ cin>>n; memset(row,0,sizeof(row)); trial(0); cout<<total<<endl; return 0; }
相关文章推荐
- HDOJ/HDU 2553 N皇后问题 回溯加递归
- N皇后问题 递归回溯
- 递归与回溯 HDOJ 2553 N皇后问题 1016 Prime Ring Problem
- 九度OJ 1254:N皇后问题 (N皇后问题、递归、回溯)
- 回溯法求n皇后问题(递归、非递归及优化)
- N皇后问题递归回溯
- 九度OJ 1254:N皇后问题 (N皇后问题、递归、回溯)
- 递归实现回溯法求n皇后问题
- N皇后问题--递归回溯
- 【蓝桥杯-递归回溯】八皇后问题+N皇后问题
- 递归回溯问题的四道经典题:N皇后,组合,全排列,二叉树路径和
- 【十一】递归与回溯--解决8皇后问题
- N皇后问题(递归回溯的学习)
- N皇后问题-回溯与递归-C++实现
- N皇后问题的递归回溯实现
- N皇后问题(递归+回溯)的C++实现
- NQueens, NQueens2 N皇后问题,递归回溯
- N皇后问题 --递归及回溯解决方案
- 蓝桥杯2n皇后问题(简单递归回溯)
- 杭电 2553 N皇后问题 递归回溯 打表 附解题思路