728x90
https://www.acmicpc.net/problem/15657
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, k;
vector<int> v;
void select(vector<int> result, int num) {
if (num == k) {
for (int i = 0; i < k; i++) {
cout << result[i] << " ";
}
cout << '\n';
return;
}
for (int i = 0; i < n; i++) {
if (num == 0) {
result[num] = v[i];
select(result, num + 1);
}
else {
if (result[num - 1] <= v[i]) {
result[num] = v[i];
select(result, num + 1);
}
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> k;
v = vector<int>(n);
for (int i = 0; i < n; i++) cin >> v[i];
sort(v.begin(), v.end());
select(vector<int>(k), 0);
return 0;
}
728x90
'알고리즘 문제' 카테고리의 다른 글
[백준] 15969번 행복 (0) | 2020.02.29 |
---|---|
[백준] 2475번 검증수 (0) | 2020.02.29 |
[백준] 1934번 최소공배수 (0) | 2020.02.29 |
[백준] 5598번 카이사르 암호 (0) | 2020.02.29 |
[백준] 2609번 최대공약수와 최소공배수 (0) | 2020.02.29 |