八皇后问题(三)
来源:互联网 发布:伴随矩阵 编辑:程序博客网 时间:2024/05/17 13:07
八皇后问题(三)
思路:
用递归实现,既然是深度优先搜索,采用回溯思想,一般都可以用递归来实现。
代码:
#include<stdio.h>#include<math.h>int a[512] = {0};int n;int sum;int check_queen(int a[], int n){ for (int i = 1; i < n; i++) if (fabs(n - i) == fabs(a[n] -a[i]) || a[i] == a[n]) return 0; return 1;}/* *采用递归的方式实现 * */void third_queen(int i){ for (int j = 1; j <= n; j++) { a[i] = j; if (check_queen(a, i)) { if (i >= n) { printf("一共有%d个皇后\n", ++sum); for (int m = 1; m < n; m++) { printf("%d\n", a[m]); } } else{ third_queen(i + 1); } } }}int main(){ printf("请输入几皇宫问题"); scanf("%d", &n); third_queen(1); }
结果:
0 0
- 八皇后问题(三)
- 八皇后问题(N皇后问题)
- 八皇后问题三种实现
- 八皇后问题(回溯)
- 八皇后问题(递归)
- 八皇后问题(java)
- 八皇后问题(EightQueens)
- 八皇后问题(回溯)
- 数据结构(八皇后问题)
- 八皇后问题(JAVA)
- 八皇后问题(初识)
- 八皇后问题(递归)
- 八皇后问题(一)
- 八皇后问题(二)
- 八皇后问题(递归)
- 八皇后问题(回溯)
- 八皇后问题(递归)
- 八皇后问题(计蒜客)
- Java 既有格式化时间的比较
- 自定义View---------自定义属性和初始画笔
- MSBuild 参考首页记忆
- 安装MariaDB ColumnStore
- 【JAVA】8.程序格式很重要
- 八皇后问题(三)
- 在MFC中使用opencv2以上版本对图像进行显示
- kernel 中断分析五——irq_thread
- UISearchController搜索框偏移问题 - 芒果iOS开发
- Grafana3.1.0的使用
- Android 改变Viewpager的滚动速度
- HDU 1789 Doing Homework again(贪心)
- php操作openoffice把文件转换成pdf
- 2017年你不得不知的学习诀窍