您的位置:首页 > 其它

POJ 2245 Lotto dfs

2015-07-07 22:45 288 查看
给出最多13个数,从中选出6个数(升序)

给出所有方案(升序输出)

DFS水题

#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 10;
const int M = 16;
int ans
;
int a[M];
int n;
void dfs(int id, int pre){
if(id == 6) {
for(int i = 0; i < 6; i++)  printf("%d%c", ans[i], i == 5 ? '\n' : ' ');
return ;
}
if(pre == n)    return;

ans[id] = a[pre + 1];
dfs(id + 1, pre + 1);
dfs(id, pre + 1);
}
int main(){
int i;
bool newline = false;
while(scanf("%d", &n) &&n){
if(newline) printf("\n");
for(i = 1; i <= n; i++){
scanf("%d", &a[i]);
}
newline = true;

dfs(0, 0);
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: