15650 N과 M (2)
C++
//
// Created by SangWon Kang on 2020/09/04.
// Copyright © 2020 SangWon Kang. All rights reserved.
//
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef vector<pair<int, int>> vpii;
#define INF 987654321
#define endl '\n';
#define FOR(i, n) for(int i=0; i<n; i++)
#define FOR1(i, n) for(int i=1; i<=n; i++)
int n, m;
vi v;
void solve(int num) {
// 수열의 길이만큼 뽑으면 출력
if (v.size() == m) {
for (auto x : v) cout << x << ' ';
cout << endl;
return;
}
for (int i = num + 1; i <= n; i++) {
// {1, 2} -> 2 pop -> {1} -> {1, 3} ... 형식
v.push_back(i);
solve(i);
v.pop_back();
}
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
solve(0);
return 0;
}
'Algorithm > BOJ (백준)' 카테고리의 다른 글
[C] 백준 2268 수들의 합 7 (0) | 2024.11.06 |
---|---|
[C++] 백준 6603 로또 (0) | 2020.09.04 |
[C/C++] 백준 11092 Safe Passage (3) | 2020.07.27 |
[C/C++] 백준 14501 퇴사 (0) | 2020.07.27 |
[C/C++] 백준 12865 평범한 배낭 (1) | 2020.07.26 |