八皇后问题
来源:互联网 发布:ios4邪恶福利软件 编辑:程序博客网 时间:2024/04/30 07:07
#include<cstdio> #include<cmath>bool place(int k) { for(int j = 1;j<k;j++) { if(abs(x[k] - x[j]) == abs(k-j)||x[j] == x[k]) return false; } return true;}void backtrack(int t)//t既代表已放置行数,也代表已放置皇后个数 { if(t>num) //num为皇后的数目 { sum++; printf("方案%d如下:\n",sum); for(int m = 1;m<=num;m++) { printf("%d ",x[m]);//这一行用输出当递归到叶节点的时候,一个可行解 } printf("\n\n"); } else for(int i = 1;i<=num;i++) { x[t] = i; if(place(t)) backtrack(t+1); //此处的place函数用来进行我们上面所说的条件的判断,如果成立,进入下一级递归 }}int main(){ int num = 8; int sum = 0; for(int i= 0;i<num;i++) x[i] = 0; backtrack(1);}
0 0
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题(2)
- 八皇后问题(3)
- 八皇后问题
- 八皇后问题程序
- 浅谈八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题求解
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 网页浏览小记
- 遍历转换
- Map_纪中1281_dfs
- 动态规划:从新手到专家
- 线程同步
- 八皇后问题
- hdu 5918(KMP)
- sqlite3使用教程
- C/C++读取二进制文件中的float、double数据
- 【PAT】【C++】1002月饼
- 优雅编程之这样编写方法,你就“正常”了(二十八)
- 11464-偶数矩阵
- Java的发明者----James Gosling谈编程
- web 一列布局制作