原题:POJ-2245
#include <iostream>
#include <cstdio>
using namespace std;
int n;
int num[20];
int suc[20];
void dfs(int t,int m){
int i;
if(t>=6){
for(i=0;i<5;i++)
printf("%d ",suc[i]);
printf("%d\n",suc[i]);
return ;
}
for(i=m;i<n;i++){
suc[t]=num[i];
dfs(t+1,i+1);
}
}
int main()
{
int i;
scanf("%d",&n);
while(n){
for(i=0;i<n;i++)
scanf("%d",&num[i]);
dfs(0,0);
if(scanf("%d",&n)==EOF)break;
printf("\n");
}
return 0;
}