8皇后的递归算法
来源:互联网 发布:易通软件 编辑:程序博客网 时间:2024/05/17 22:32
#include <stdio.h>#include <MATH.H>int count=0;int isTrue(int (*chess)[8],int i,int j){int q,p;for(q=0;q<8;q++)if(chess[i][q]==1||chess[q][j]==1)return 0;for(q=0;q<8;q++)for(p=0;p<8;p++){if((i-j)==(q-p)&&chess[q][p]==1){return 0;}else if((i+j)==(p+q)&&chess[q][p]==1)return 0;}return 1;}int eightqueen(int n,int (*chess)[8]){if(n==8){for(int i=0;i<8;i++){for (int j=0;j<8;j++){printf("%d ",chess[i][j]);}printf("\n");}printf("\n");count++;}else{for(int i=0;i<8;i++) if(isTrue(chess,i,n)){chess[i][n]=1;eightqueen(n+1,chess); chess[i][n]=0;}}return count;}void main(){int count;int chess[8][8];for (int i=0;i<8;i++){for(int j=0;j<8;j++)chess[i][j]=0;}count=eightqueen(0,chess);printf("%d\n",count);}
1 二维数组用过之后封闭,即chess[i][j]=1;
2 判断其的可行函数,可用绝对值思想
0 0
- 8皇后的递归算法
- 八皇后及N皇后的回溯与递归算法
- 八皇后问题的非递归算法
- N皇后问题的非递归算法
- 八皇后-递归算法
- 8皇后 n皇后 递归
- 八皇后问题.递归算法.
- 八皇后问题--递归算法
- 8皇后问题的递归解决 java
- 八皇后之非递归算法(很好的解法)
- 八皇后问题的非递归算法实现
- 关于N皇后问题的非递归算法浅析
- n皇后问题的递归与迭代算法
- c++ 递归 8皇后
- 递归-8皇后问题
- 八皇后问题的递归算法和非递归算法实现
- 8皇后 n皇后 非递归
- [回溯法]八皇后问题的递归与非递归算法
- Java语言中链表和双向链表
- leetcode之Scramble String
- 如何用软文推广
- Arrays类
- Xianfeng轻量级Java中间件平台:流水号管理、组织机构管理
- 8皇后的递归算法
- TimesTen11g在linux64 bit下的安装
- Android 各版本新增功能
- 11203 RAC(asm)恢复一例
- linux权限---【600,644,700,755,711,666,777】
- 程序无响应 强制退出Mac程序的六种方法
- SOAP Action揭密
- iBatis简单入门教程
- FZU 2122 又见LKity