回溯法实现八皇后问题
2013-08-19 17:11
225 查看
/*====================== 用回溯法求解八皇后问题 2013-08-10 By Mei ======================*/ #include <iostream> #define N 8 #define abs(x) ((x)>=0)?(x):(-(x)) using namespace std; int a[N+1]; void output() { static int count ; count ++; cout <<count<<endl; for(int i=1; i<=N; ++i) cout<<a[i]<<" "; cout<<endl; } void Queen(int row) { if(row == N+1) output(); else { for(int i=1; i<=N; ++i) { int k = 1; a[row] = i; while(row != k) { if((a[k]-a[row]) * (abs(k-row)-abs(a[k]-a[row]))!=0) { k++; if(k==row) Queen(row+1); } else break; } } } } int main() { int i; for(i=1; i<=N; ++i) { a[1] = i; Queen(2); } return 0; }
相关文章推荐
- javascript实现数据结构: 树和二叉树的应用--最优二叉树(赫夫曼树),回溯法与树的遍历--求集合幂集及八皇后问题
- 回溯法实现八皇后问题
- 回溯法解决八皇后问题
- 用DFS实现全排列 & 八皇后问题
- C# 回溯法实现八皇后
- 回溯法解决八皇后问题
- 八皇后问题的实现
- 八皇后扩展--n皇后问题 使用回溯法
- 回溯法解决八皇后问题--精简版
- 八皇后问题 回溯法 C++ 含迭代器
- 回溯法解决方格填数问题java实现
- 拉丁矩阵问题 利用回溯法的C++实现方案
- php 实现八皇后问题
- 人工智能:用爬山法、模拟退火算法实现八皇后和八数码问题
- 回溯法解决八皇后问题
- 回溯法( Backtracking Algorithms ) :C语言Maze迷宫问题(自己实现)
- java实现八皇后问题示例分享
- C语言八皇后问题解决方法示例【暴力法与回溯法】
- 贪心法和回溯法 求解“背包、0/1背包问题”——Java 实现
- 人工智能MATLAB实现回溯八皇后问题