回溯法 剪枝 八皇后问题
来源:互联网 发布:什么事软件硬件接口 编辑:程序博客网 时间:2024/06/05 22:35
#include<iostream>#include<cstring>#include<cstdio>using namespace std;const int maxn = 8;const int maxt = 100;char idx[maxt][maxt];int A[maxt], B[maxt], C[maxt] ; // 列,正对角线,反对角线void dfs(int deep)//deep代表行{ if(deep > maxn-1) //满足条件输出棋盘 { for(int i = 0; i < maxn; i++) { for(int j = 0; j < maxn; j++) cout << idx[i][j]; cout << endl; } cout << endl; return; } for(int j = 0; j < maxn; j++) {// cout << j << endl; if(!A[j] && !B[j-deep] && !C[j+deep]) {// cout << deep << "," << j << endl; A[j] = B[j-deep] = C[j+deep] = 1; idx[deep][j] = '@'; dfs(deep+1); A[j] = B[j-deep] = C[j+deep] = 0; idx[deep][j] = '#'; } }}int main (){ memset(A, 0, sizeof(A)); memset(B, 0, sizeof(B)); memset(C, 0, sizeof(C)); for(int i = 0; i < maxt; i++) for(int j = 0; j < maxt; j++) idx[i][j] = '#'; dfs(0); return 0;}
阅读全文
1 0
- 回溯法 剪枝 八皇后问题
- 八皇后问题(排列+递归+剪枝=回溯法)
- 八皇后问题 回溯法
- 八皇后问题 回溯法
- 八皇后问题 回溯法
- 八皇后问题-回溯法
- 八皇后问题 回溯法
- 八皇后问题 回溯法
- 八皇后问题-回溯法
- 八皇后问题 回溯法
- 回溯法八皇后问题
- 八皇后问题--回溯法
- 八皇后问题 回溯法
- 回溯法:八皇后问题
- 八皇后问题-回溯法
- 回溯法-八皇后问题
- 回溯法---八皇后问题
- 八皇后问题回溯法
- BeanUtils & PropertyUtils & MethodUtils类使用方法
- for语句嵌套循环使用
- 杭电acm 5038 Grade(桶排序)
- spark dataframe和dataSet用电影点评数据实战
- 程序13--水仙花数
- 回溯法 剪枝 八皇后问题
- Java 生成验证码
- Java 多线程
- 浅谈在React中使用Redux数据流(二)
- 4.2Maven仓库
- 树,森林与二叉树的转换
- 支持向量机详解
- 正则表达式语法大全
- 4.3Maven模块整合(私服.插件.聚合.继承.jetty)