经典回溯问题----n皇后
2013-11-08 01:08
176 查看
n皇后问题不用多说,基本都知道。回溯算法也不用多说,还是比较简单的,给我的感觉就是不停的找一颗子树或一个排列,并加上判断以回溯。
/* * 经典回溯问题-----n皇后 */ #include<iostream> using namespace std; #define MAX 1024 int N; int column[MAX];//每行对应的列值 int sum=0; bool Place(int row,int col)//判断是否该行可以放置皇后 { int i=1; for(i;i<row;i++) { if((column[i]-col)==(i-row)||(column[i]-col)==(row-i)||column[i]==col) return false; } return true; } void backTrace(int k)//回溯函数 { int i; if(k>N) { cout<<"路径"<<++sum<<"序列为: "; for(i=1;i<=N;i++) cout<<column[i]<<" "; cout<<endl; } else { for(i=1;i<=N;i++) { if(Place(k,i)) { column[k]=i; backTrace(k+1); } } } } void main() { cout<<"输入皇后数:"; cin>>N; backTrace(1); }
相关文章推荐
- 回溯法的一个经典实例-n皇后问题
- 经典回溯算法之N皇后问题
- 回溯法之经典问题->皇后问题
- 棋盘摆放皇后问题(回溯思想的经典应用)
- 回溯法特点分析以及经典N皇后问题
- HDOJ 2553 N皇后问题(经典回溯)
- HDU 2553 N皇后问题 --- 经典回溯
- 经典回溯算法之n皇后问题
- 递归回溯问题的四道经典题:N皇后,组合,全排列,二叉树路径和
- 巩固基础篇:八皇后问题:经典回溯法
- 回溯经典-n皇后问题
- 回溯经典算法之四皇后问题
- HDU 2553 N皇后问题(经典的回溯问题)
- N皇后问题与回溯法
- 回溯法之n皇后问题
- n皇后问题回溯法---java图形界面实现回溯过程
- Leetcode中的回溯法题目总结:八皇后问题; unique path问题;subsets问题
- 回溯法之n皇后问题
- N皇后问题的非递归回溯和递归回溯
- code【vs】1295 N皇后问题(dfs(回溯))