八皇后改DFS
来源:互联网 发布:linux系统版本查看命令 编辑:程序博客网 时间:2024/05/29 03:26
逐行判断,在当前行放置皇后之后递归进入下一行
#include<stdio.h>int queen[9]={0};int count=1;int base[8][8];int max=0; int abs(int i){ if(i<0) return -i;}//输出最大解 int visit(){ int i,sum=0; for(i=1;i<9;i++){ sum+=base[i-1][queen[i]-1]; } if(max<sum) max=sum; }//判断第i行,第j列能否放置皇后 int judege(int i,int j){ int k;//k为当前判断行数 //从第1到第i-1行判断 for(k=1;k<i;k++){ if(queen[k]==j||//列 (abs(k-i)==abs(queen[k]-j))) {//对角线 return 0; } } return 1;}//寻找第i行上合适的位置 void search(int i){ //递归终点 if(i>8){ visit(); } else{ int j; for(j=1;j<=8;j++){ //在第i行的第j列找到合适的位置 if(judege(i,j)){ queen[i]=j;//占用该列 search(i+1);//寻找下一行 } } }}int main(){ int i,j; for(i=0;i<8;i++){ for(j=0;j<8;j++){ scanf("%d",&base[i][j]); } } search(1); printf("%d",max); return 0;}
0 0
- 八皇后改DFS
- 八皇后问题(DFS)
- 八皇后问题 DFS
- 八皇后问题 DFS
- 八皇后问题-DFS
- 八皇后问题 DFS
- DFS之八皇后
- 八皇后(dfs)
- 八皇后 位运算dfs
- 八皇后问题DFS解法
- DFS解八皇后问题
- Dfs回溯-八皇后问题
- 八皇后问题:DFS剪枝
- 八皇后问题(DFS剪枝)
- POJ1321-DFS八皇后变种
- 洛谷P1219 八皇后(dfs)
- DFS入门篇---八皇后!
- poj1321 dfs(八皇后变形)
- C语言字节对齐及设置编译对齐方式方法
- 20170326_请说出C++多态的含义
- Java JDK version issue
- C#解决“Emgu.CV.CvInvoke”的类型初始值设定项引发异常 的其中一个办法
- 【JSOI2015】字符串树
- 八皇后改DFS
- 操作系统学习
- C++最大值和最小值表示
- C#调用dll提示"试图加载格式不正确的程序"解决方法
- 欢迎使用CSDN-markdown编辑器
- 高斯分布简述
- Cocoapods
- Qt 事件的处理及联系
- ScrollView---------onMeasure解析