- 输入
-
第一行输入一个t(1<=t<=20),代表t组数据。
每组数据第一个数n(7<=n<=13),后面有n个数。
- 输出
-
在着n个数中任意选出6个数按升序打出来,要求把所有组合都打出来,(每组结果用一个空行隔开)。
- 样例输入
-
2 7 1 2 3 4 5 6 7 8 1 2 3 5 8 13 21 34
- 样例输出
-
1 2 3 4 5 6 1 2 3 4 5 7 1 2 3 4 6 7 1 2 3 5 6 7 1 2 4 5 6 7 1 3 4 5 6 7 2 3 4 5 6 7 1 2 3 5 8 13 1 2 3 5 8 21 1 2 3 5 8 34 1 2 3 5 13 21 1 2 3 5 13 34 1 2 3 5 21 34 1 2 3 8 13 21 1 2 3 8 13 34 1 2 3 8 21 34 1 2 3 13 21 34 1 2 5 8 13 21 1 2 5 8 13 34 1 2 5 8 21 34 1 2 5 13 21 34 1 2 8 13 21 34 1 3 5 8 13 21 1 3 5 8 13 34 1 3 5 8 21 34 1 3 5 13 21 34 1 3 8 13 21 34 1 5 8 13 21 34 2 3 5 8 13 21 2 3 5 8 13 34 2 3 5 8 21 34 2 3 5 13 21 34 2 3 8 13 21 34 2 5 8 13 21 34 3 5 8 13 21 34
#include<iostream>
#include<algorithm>
using namespace std;
int a[20],b[20],n,r=5;
void dfs(int m,int c)
{
if(c>r)
{
for(int i=0;i<c-1;i++)
cout<<b[i]<<" ";cout<<b[c-1]<<endl;
return ;
}
for(int i=m;i<n;i++)
{
b[c]=a[i];
dfs(i+1,c+1);
}
}
int main()
{
int t;
cin>>t;
while(t--)
{
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
dfs(0,0);
cout<<endl;
}
}