http://acm.hdu.edu.cn/showproblem.php?pid=1342
题意:给出K(k>=6)个数,从中选出6个数,按字典序输出所有的情况
代码:
注意输出格式
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int n,ans;
int a[15],b[8];
void print()
{
int i;
for(i=1;i<6;i++)
printf("%d ",b[i]);
printf("%d\n",b[i]);
}
void dfs(int dep)
{
if(ans==6){print();return ;}
if(dep>n)return;
b[++ans]=a[dep];
dfs(dep+1);
ans--;
dfs(dep+1);
}
int main()
{
int i,ca=0;
while(~scanf("%d",&n))
{
if(n==0)break;
if(ca)printf("\n");
ca++;
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
ans=0;
dfs(1);
}
return 0;
}