2013年4月12日

15个球,6个位置,求按递增序列输出不同的摆法 DFS

摘要: 贴代码:View Code 1 #include <cstdio> 2 #define MAXN 160000 3 int a[MAXN][6]; 4 int cur; 5 int st[6]; 6 //表示要去第i个位置放球,还有sum个球没放 7 void DFS(int i,int sum) 8 { 9 int j,k;10 if(i==5)//放最后一个位置,那么直接把剩下的球都放在该位置上11 {12 st[i] = sum;13 for(j=0; j<6; ++j) //放数组里保存起来14 a[c... 阅读全文

posted @ 2013-04-12 10:49 allh123 阅读(327) 评论(0) 推荐(0) 编辑

八皇后问题 DFS,回溯剪枝 //http://poj.grids.cn/practice/2698

摘要: 就是DFS,一出现同行,同列或同对角线,就不往下搜了,就叫剪枝,然后一到出现一个可行解,输出来。记得再递归调用回退的时候要“恢复现场”贴代码:View Code 1 //http://poj.grids.cn/practice/2698 2 #include <cstdio> 3 #include <cstring> 4 bool a[10][10]; 5 int cur=0; 6 //开始考虑放第i行 7 void DFS(int i) 8 { 9 int j,k;10 if(i == 8)//得到一个可行解11 {12 printf("No. %d... 阅读全文

posted @ 2013-04-12 00:36 allh123 阅读(464) 评论(0) 推荐(0) 编辑

导航