ZOJ1089(dfs)

来源:互联网 发布:linux如何退出文件夹 编辑:程序博客网 时间:2024/05/04 01:27
#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;}

0 0
原创粉丝点击