코드
#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;
int n, a[18];
void combi(int x, vector<int> v) {
if(v.size() == 6) {
for(int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << '\n';
return;
}
for(int i = x + 1; i < n; i++) {
v.push_back(a[i]);
combi(i, v);
v.pop_back();
}
return;
}
int main() {
while(1) {
cin >> n;
if(n == 0) break;
fill(a, a + 18, 0);
for(int i = 0; i < n; i++) {
cin >> a[i];
}
vector<int> k;
combi(-1, k);
cout << '\n';
}
return 0;
}
조합을 통해 구해주면 된다. 입력이 오름차순으로 들어오기 때문에 따로 정렬할 필요는 없다.
'백준' 카테고리의 다른 글
[백준] 2108번 통계학 C++ 코드 (0) | 2024.07.27 |
---|---|
[백준] 1913번 달팽이 C++ 코드 (0) | 2024.07.27 |
[백준] 9184번 신나는 함수 실행 C++ 코드 (0) | 2024.07.15 |
[백준] 12015번 가장 긴 증가하는 부분 수열 2 C++ 코드 (0) | 2024.07.08 |
[백준] 11053번 가장 긴 증가하는 부분 수열 C++ 코드 (0) | 2024.07.08 |