您的位置:首页 > 其它

ZOJ1089(dfs)

2016-05-24 19:53 274 查看
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
int a[22], b[22];
int n;
void print() {
for(int i = 1; i <= 6; i++) {
printf("%d%c", a[b[i]], (i == 6) ? '\n' : ' ');
}
}
void dfs(int x, int st) {
b[x] = st;
if(x > 6) {
print();
return;
}
if(st > n)
return;
dfs(x+1, st+1);
dfs(x, st+1);
}
int main() {
int k = 0;
while(scanf("%d", &n) && n) {
k++;
if(k != 1) {
printf("\n");
}
for(int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
}
for(int i = 1; i <= 6; i++) {
b[i] = i;
}
dfs(1, 1);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: