写程序输出8皇后问题的所有排列,要求使用非递归的深度优先遍历。
来源:互联网 发布:小学网络教学 编辑:程序博客网 时间:2024/06/02 05:44
#define COLS 10#define WAYS 100int col[COLS];int result[WAYS][COLS];bool isVaild(int level) {for (int i = 1; i < level; ++i) {if (col[i] == col[level] || abs(i - level) == abs(col[i] - col[level]))return false;}return true;}int eightQueen() {memset(col, 0, sizeof(int) * COLS);memset(result, 0, sizeof(int) * COLS * WAYS);int level = 1;col[level] = 0;int count = 0;while (level >= 1) {col[level]++;while (col[level] <= 8 && !isVaild(level)) {col[level]++;}if (col[level] <= 8) {if (level == 8) {for (int i = 1; i <= 8; ++i) {result[count][i] = col[i];}count++;} else {level++;col[level] = 0;}} else {level--;}}return count;}
1 0
- 【算法面试】写程序输出8皇后问题的所有排列,要求使用非递归的深度优先遍历。
- 写程序输出8皇后问题的所有排列,要求使用非递归的深度优先遍历。
- 深度优先遍历算法的非递归
- 树的非递归深度优先遍历
- 深度优先遍历的非递归
- 图的遍历,非递归版本,深度优先遍历
- 二叉树的深度优先遍历(递归、非递归),广度优先遍历(递归)
- 八皇后问题深度优先遍历回溯算法的应用
- 二叉树深度优先遍历的非递归算法
- 深度优先遍历算法的非递归实现
- 深度优先遍历算法的非递归实现
- 邻接矩阵的深度优先遍历(递归以及非递归),广度优先遍历
- 图的深度优先遍历(递归与非递归算法)和广度优先遍历
- 二叉树的深度优先遍历、广度优先遍历和非递归遍历
- 二叉树的深度优先遍历、广度优先遍历和非递归遍历
- 二叉树的深度优先遍历、广度优先遍历和非递归遍历
- 二叉树的深度优先遍历、广度优先遍历和非递归遍历
- 二叉树的深度优先遍历、广度优先遍历和非递归遍历
- python 集合set的创建,更改,遍历,元算合并,交集,补集
- #分数阶Fourier变换的总体认知(From 陶然著)
- [生存志] 第114节 韩信围垓下
- 挨踢部落第二期:大数据在医疗领域的应用和实践
- Android开发基础知识整理之UI与Fragment
- 写程序输出8皇后问题的所有排列,要求使用非递归的深度优先遍历。
- HDU 1556 树状数组
- HTTP协议之报文格式
- 第一个Hello Vue!
- 在8X8的棋盘上分布着n个骑士,他们想约在某一个格中聚会。骑士每天可以像国际象棋中的马那样移动一次,可以从中间像8个方向移动(当然不能走出棋盘),请计算n个骑士的最早聚会地点和要走多少天。要求尽早聚会
- 集合框架线程同步
- git修改远程仓库地址
- Android webview使用详解
- Augular2英雄指南教程