POJ 2245 Lotto(组合问题)
2010-05-09 16:29
489 查看
//递归方法解决组合问题。 //打印出C(n,6)的组合 //没注意输出格式,PE了2次……每两个case有一个空行,最后一个case没有 #include<iostream> #include<algorithm> using namespace std; int num[14]; int rcd[14]; int n,cnt; void select_combination(int current,int p)//递归填充数并打印组合,相当于DFS过程 { if(current == 6)//如果填充满了6个数,则打印 { for(int i = 0;i < 5;i++) printf("%d ",rcd[i]); printf("%d/n",rcd[5]); return; } else { for(int i = p;i < n;++i) { rcd[current] = num[i];//上次递归过程填充的是num[p-1],这次递归从num[p]开始填充 select_combination(current+1,i+1);//填充下一个位置 } } } int main() { //freopen("in.txt","r",stdin); bool first = 1; while(scanf("%d",&n)) { if(n == 0)break; if(!first) printf("/n"); first = 0; for(int i = 0;i < n;++i) scanf("%d",&num[i]); select_combination(0,0);//递归调用从0 0开始 } return 0; }
得找时间把排列和组合的代码整理下。
相关文章推荐
- poj 1496(1850)/2245 全组合打表(一种字符编码/Lotto)
- POJ 2245 Lotto DFS
- POJ-4004:数字组合(用位移方法解组合数问题,Java版)
- POJ 题目2245 Lotto(DFS水)
- POJ 2245 Lotto
- poj 2249 排列组合问题
- POJ-4004:数字组合(用位移方法解组合数问题,Java版)
- 周赛 POJ 2245 Lotto
- poj 2245 Lotto
- POJ 2245 Lotto
- POJ 1164 放苹果 经典的组合问题
- POJ 2245 Lotto
- POJ 2245 Lotto dfs
- POJ 2245 Lotto
- poj 2245 Lotto
- poj 2245 Lotto
- POJ 2245 Lotto-DFS-(回溯法)
- poj 2245 Lotto
- poj 2245 Lotto
- poj 2245lotto(dfs)