You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
747 B
41 lines
747 B
2 years ago
|
#include <bits/stdc++.h>
|
||
|
|
||
|
using namespace std;
|
||
|
int n, k;
|
||
|
const int N = 110;
|
||
|
int a[N];
|
||
|
bool st[N];
|
||
|
vector<int> res;
|
||
|
/*
|
||
|
4 2
|
||
|
1 1 2 3
|
||
|
*/
|
||
|
void dfs(int u, int k) {
|
||
|
if (k == 0) {
|
||
|
for (int i = 0; i < res.size(); i++)
|
||
|
cout << res[i] << " ";
|
||
|
cout << endl;
|
||
|
return;
|
||
|
}
|
||
|
if (u == n + 1) return;
|
||
|
|
||
|
if (a[u - 1] == a[u] && st[a[u - 1]] == 0) {
|
||
|
dfs(u + 1, k);
|
||
|
} else {
|
||
|
st[a[u]] = 1;
|
||
|
res.push_back(a[u]);
|
||
|
dfs(u + 1, k - 1);
|
||
|
res.pop_back();
|
||
|
st[a[u]] = 0;
|
||
|
dfs(u + 1, k);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int main() {
|
||
|
cin >> n >> k;
|
||
|
for (int i = 1; i <= n; i++) cin >> a[i];
|
||
|
sort(a + 1, a + 1 + n);
|
||
|
dfs(1, k);
|
||
|
return 0;
|
||
|
}
|