标签:
输入n个数,从中选出m个数可构成集合,输出所有这样的集合
输入
4 3
1 2 3 4
输出
1 2 3
1 2 4
1 3 4
2 3 4
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 100;
int n,m;
int rcd[maxn],num[maxn],vis[maxn];
int read_input(){
if(scanf("%d %d",&n,&m)==EOF)
return 0;
for(int i=0;i<n;i++)
scanf("%d",&num[i]);
return 1;
}
void select_combination(int l,int p){
if(l==m){
for(int i=0;i<m;i++){
printf("%d",rcd[i]);
if(i<m-1)
printf(" ");
}
printf("\n");
return ;
}
for(int i=p;i<n;i++){
rcd[l]=num[i];
select_combination(l+1,i+1);
}
}
int main() {
while(read_input()){
select_combination(0,0);
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/huicpc0212/p/4185981.html