POJ 题目2245 Lotto(DFS水)
2015-08-03 15:23
357 查看
Lotto
Description
In the German Lotto you have to select 6 numbers from the set {1,2,...,49}. A popular strategy to play Lotto - although it doesn't increase your chance of winning - is to select a subset S containing k (k > 6) of these 49 numbers,
and then play several games with choosing numbers only from S. For example, for k=8 and S = {1,2,3,5,8,13,21,34} there are 28 possible games: [1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ... [3,5,8,13,21,34].
Your job is to write a program that reads in the number k and the set S and then prints all possible games choosing numbers only from S.
Input
The input will contain one or more test cases. Each test case consists of one line containing several integers separated from each other by spaces. The first integer on the line will be the number k (6 < k < 13). Then k integers,
specifying the set S, will follow in ascending order. Input will be terminated by a value of zero (0) for k.
Output
For each test case, print all possible games, each game on one line. The numbers of each game have to be sorted in ascending order and separated from each other by exactly one space. The games themselves have to be sorted lexicographically,
that means sorted by the lowest number first, then by the second lowest and so on, as demonstrated in the sample output below. The test cases have to be separated from each other by exactly one blank line. Do not put a blank line after the last test case.
Sample Input
Sample Output
Source
Ulm Local 1996
各种水
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 6549 | Accepted: 4153 |
In the German Lotto you have to select 6 numbers from the set {1,2,...,49}. A popular strategy to play Lotto - although it doesn't increase your chance of winning - is to select a subset S containing k (k > 6) of these 49 numbers,
and then play several games with choosing numbers only from S. For example, for k=8 and S = {1,2,3,5,8,13,21,34} there are 28 possible games: [1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ... [3,5,8,13,21,34].
Your job is to write a program that reads in the number k and the set S and then prints all possible games choosing numbers only from S.
Input
The input will contain one or more test cases. Each test case consists of one line containing several integers separated from each other by spaces. The first integer on the line will be the number k (6 < k < 13). Then k integers,
specifying the set S, will follow in ascending order. Input will be terminated by a value of zero (0) for k.
Output
For each test case, print all possible games, each game on one line. The numbers of each game have to be sorted in ascending order and separated from each other by exactly one space. The games themselves have to be sorted lexicographically,
that means sorted by the lowest number first, then by the second lowest and so on, as demonstrated in the sample output below. The test cases have to be separated from each other by exactly one blank line. Do not put a blank line after the last test case.
Sample Input
7 1 2 3 4 5 6 7 8 1 2 3 5 8 13 21 34 0
Sample Output
1 2 3 4 5 6 1 2 3 4 5 7 1 2 3 4 6 7 1 2 3 5 6 7 1 2 4 5 6 7 1 3 4 5 6 7 2 3 4 5 6 7 1 2 3 5 8 13 1 2 3 5 8 21 1 2 3 5 8 34 1 2 3 5 13 21 1 2 3 5 13 34 1 2 3 5 21 34 1 2 3 8 13 21 1 2 3 8 13 34 1 2 3 8 21 34 1 2 3 13 21 34 1 2 5 8 13 21 1 2 5 8 13 34 1 2 5 8 21 34 1 2 5 13 21 34 1 2 8 13 21 34 1 3 5 8 13 21 1 3 5 8 13 34 1 3 5 8 21 34 1 3 5 13 21 34 1 3 8 13 21 34 1 5 8 13 21 34 2 3 5 8 13 21 2 3 5 8 13 34 2 3 5 8 21 34 2 3 5 13 21 34 2 3 8 13 21 34 2 5 8 13 21 34 3 5 8 13 21 34
Source
Ulm Local 1996
各种水
#include<stdio.h> #include<string.h> int n; int a[50],b[50]; void dfs(int pos,int num) { int i,j; if(n-pos+1<6-num) return; if(num==6) { printf("%d",b[0]); for(i=1;i<6;i++) printf(" %d",b[i]); printf("\n"); return; } b[num]=a[pos]; dfs(pos+1,num+1); dfs(pos+1,num); } int main() { //int n int flag=0; while(scanf("%d",&n)!=EOF,n) { int i; if(flag) printf("\n"); else flag=1; for(i=1;i<=n;i++) { scanf("%d",&a[i]); } dfs(1,0); // printf("\n"); } return 0; }
相关文章推荐
- iOS8定位问题解决方案
- 【POJ3211】【Washing Clothes】
- hdu 1075 字典树
- 疯狂Java讲义中的习题,设计一个控制台的梭哈游戏
- 本地解析Json
- 通过SqlHelper实现登录
- STL之set UVa10815
- poj2686-Traveling by Stagecoach(状压dp)
- win10应用商店白屏打不开或闪退该怎么办呢?
- javascript实现输出指定行数正方形图案的方法
- 地方论坛半年运作心得分享
- 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经
- OSG 目前所支持的场景筛选方式
- 1032. Sharing (25)
- 音视频该怎么学?
- 15-07-26 HTML--样式基本概念、选择器、样式属性
- 【Unity3D】从今天开始做UnityProgrammer!(一)简单浏览官方示例Project
- android 锁屏音乐控制
- 降低图片的内存消耗
- 最长递增子序列(LIS)