回溯法解决八皇后问题
2015-01-04 21:44
288 查看
回溯法:全排列并进行剪枝
#include <iostream> #include <algorithm> using namespace std; #define N 100000 int C ; int tot; int visited[3] ;//列访问,副对角线访问,主对角线访问 //八皇后问题 void search(int n, int cur) { if (cur == n) tot++; else for (int i = 0; i < n; i++) { if (!visited[0][i] && !visited[1][cur + i] && !visited[2][cur - i + n]) { C[cur] = i; visited[0][i] = visited[1][cur + i] = visited[2][cur - i + n] = 1; search(n, cur + 1); visited[0][i] = visited[1][cur + i] = visited[2][cur - i + n] = 0; } } } int main() { int n; cin >> n; search(n, 0); cout << tot << endl; return 0; }
相关文章推荐
- 第一次上传代码 处女秀-回溯法解决八皇后问题
- C++基于回溯法解决八皇后问题示例
- 回溯法解决八皇后问题--精简版
- 回溯法解决八皇后问题
- 八皇后问题解决及代码下载(回溯法)
- 回溯法解决八皇后问题
- 回溯法解决八皇后问题---用Java语言
- C语言八皇后问题解决方法示例【暴力法与回溯法】
- 回溯法解决八皇后问题
- 回溯法解决八皇后问题
- 数据结构41:回溯法解决八皇后问题
- 回溯法解决“八皇后”问题
- scala 回溯法解决八皇后问题
- 回溯法解决八皇后问题
- 回溯法解决八皇后问题
- 用回溯法解决子集和问题【C#版本】
- 位运算解决八皇后问题
- 回溯法解决N皇后问题——递归与非递归求解
- VC++2012编程演练数据结构《8》回溯法解决迷宫问题
- 回溯法解决装载问题