DFS即可
#include <bits/stdc++.h>
using namespace std;
const int N = 20;
int a[N];
int b[N];
int n,m;
void dfs(int x,int start){
if (x > m) {
for (int i = 1; i <= m; ++i) {
printf("%d ",b[i]);
}
printf("\n");
return;
}
for (int i = start; i <= n; ++i) {
b[x] = a[i];
dfs(x + 1,i + 1);
}
}
int main(){
scanf("%d %d",&n,&m);
for (int i = 1; i <= n; ++i) {
scanf("%d",&a[i]);
}
sort(a + 1, a + n + 1);
dfs(1,1);
return 0;
}
0 回复
0 转发
0 喜欢
2 阅读



