Baekjoon

Baekjoon 15652번 N과 M (4)

ppwag 2020. 8. 30. 15:07

문제

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

댓글