`## 八皇后的判断 ###
2016-04-21 20:10
274 查看
include<stdio.h> int tot=0; int n=8; char ins[8]; int val; void search(int cur) { int i,j; int ok; if(cur==n) printf("%d\n",val); else { //for(i=0;i<n;i++) // { ok=1; // ins[cur]=i; for(j=0;j<cur;j++) if(ins[cur]==ins[j]||cur-ins[cur]==j-ins[j]||cur+ins[cur]==j+ins[j]) { ok=0; printf("No Answer\n"); break; } if(ok) search(cur+1); // } } } int main() { int i,r,j; // char ins[8]; int a[8]={1,2,3,4,5,6,7,8}; gets(ins); for(i=0;ins[i]!='\0';i++) { if(ins[i]=='*') r=i; else if(ins[i]>='0'&&ins[i]<='9') { for(j=0;j<8;j++) { if(a[j]==(ins[i]-'0')) { a[j]=-1; break; } } } } for(j=0;j<8;j++) { if(a[j]!=-1) val=j+1; } ins[r]=val+'0'; printf("%s\n",ins); search(0); }`
判断一个给定的序列是否满足八皇后,当然将程序中注释的部分稍作修改也可求出所有的八皇后序列
相关文章推荐
- C#使用回溯法解决背包问题实例分析
- javascript递归回溯法解八皇后问题
- java使用回溯法求解数独示例
- 八皇后问题的相关C++代码解答示例
- C++实现八皇后问题的方法
- 算法详解之回溯法具体实现
- java实现八皇后问题示例分享
- python 示例分享---逻辑推理编程解决八皇后
- python基于右递归解决八皇后问题的方法
- PHP回溯法解决0-1背包问题实例分析
- C++回溯法实例分析
- python回溯法实现数组全排列输出实例分析
- Path Sum II
- 一维数组实现八皇后问题
- 2754:八皇后
- Word Search
- 八皇后问题的回朔法求解
- 递归学习:N皇后 [暨接受六神指点后感]
- 算法设计策略----回溯法和分枝限界法