문제
https://www.acmicpc.net/probaem/15652
걸린 시간
00 : 02 : 33
풀이
C++
#include <bits/stdc++.h>
#define INF 987654321
using namespace std;
int n, m;
void solve(vector<int>& seq, int here){
// 기저 사례
if(seq.size() == m){
for(int i = 0; i < seq.size(); i++)
cout << seq[i] << " ";
cout << "\n";
return;
}
// 재귀 호출
for(int next = here; next <= n; next++){
seq.push_back(next);
solve(seq, next);
seq.pop_back();
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m;
vector<int> seq;
solve(seq, 1);
return 0;
}
15650번 N과 M (2) 에서 제목의 숫자가 2 상승했지만 중복 선택이 가능하도록 수정하는것이 전부다.
비내림차순(nondecreasing order) 이란 생소한 용어가 등장했는데 쉽게말하면 각 원소의 앞의 수가 크거나 같을 수 있는 오름차순 이란 뜻이라고 한다. 자세한 설명은 아래 링크에.
참고
'Baekjoon' 카테고리의 다른 글
Baekjoon 12865번 평범한 배낭 (0) | 2020.09.02 |
---|---|
Baekjoon 1043번 거짓말 (0) | 2020.08.31 |
Baekjoon 15650번 N과 M (2) (0) | 2020.08.30 |
Baekjoon 1932번 정수 삼각형 (0) | 2020.08.30 |
Baekjoon 1149번 RGB거리 (0) | 2020.08.30 |
댓글