n后问题
来源:互联网 发布:人人美剧app for mac 编辑:程序博客网 时间:2024/05/19 13:25
递归
#include<stdio.h>#include<stdlib.h>#include<math.h>#define N 4int Eq[10]={0},sum=0;int isTrue(int b){int i;for(i=1;i<b;i++){if(Eq[b]==Eq[i]||abs(Eq[b]-Eq[i])==abs(b-i))return 0;}return 1;}void traceBack2(int i){int j;if(i>N)sum++;else{for(j=1;j<=N;j++){Eq[i]=j;if(isTrue(i)){traceBack2(i+1);}}}}int main(){int i;for(i=1;i<=N;i++){Eq[1]=i;traceBack2(2);}printf("%d\n",sum);system("pause");return 0;}
非递归
#include<stdio.h>#include<stdlib.h>#include<math.h>int E[10]={0};int isOk(int b){int i;for(i=1;i<b;i++){if(E[b]==E[i]||abs(E[b]-E[i])==abs(b-i))return 0;}return 1;}int traceBack(int n){int k=1,sum=0,i;E[k]=1;while(k>=1){if(k<=n&&E[k]<=n){if(isOk(k)){k++;E[k]=1;}else{E[k]++;}}else{if(k>n){sum++;}k--;E[k]++;}}return sum;}int main(){int i,j,k;printf("%d\n",traceBack(8));system("pause");return 0;}
0 0
- n后问题
- N后问题
- n后问题
- n后问题之一
- N后问题
- N 后问题
- n后问题
- shu_p64 n后问题
- n后问题
- n后问题
- n后问题
- N后问题
- n后问题
- n后问题c++
- n后问题
- n后问题
- 【算法】N后问题
- n后问题
- UVA 674 Coin Change ,Commence
- 月中总结。
- 分析IBinder体系中getService的流程
- android 增加重启功能
- JAVA 初始化数据域的三种方法
- n后问题
- Git 分支 - 分支的衍合
- centos,SVN在checkout报错:SSL handshake failed
- C语言中的typedef(包含与#define的区别)
- Linux proc详解
- ibatis 开发中的经验 (一)ibatis 和hibernate 在开发中的理解
- Android开发之颜色总结
- 毛细管网地暖的优势
- IOS 本地缓存