공부/백준

15651번: N과 M(3)(백준 C++)

상연 2020. 11. 6. 17:56

목차

15651번: N과 M(3) 링크

코드

#include <iostream>
#include <vector>
using namespace std;

int n, m;
vector <int> v;

void solve(int cnt){
    if(cnt == m){
        for(int i=0; i<m; i++){
            cout << v[i] << " ";
        }
        cout << "\n";
    }
    else{
        for(int j=1; j<=n; j++){
            v.push_back(j);
            solve(cnt+1);
            v.pop_back();
        }
    }
}
int main() {
    cin >> n >> m;
    solve(0);
    return 0;
}

사견

N과 M시리즈에서 가장 쉽다고 생각한다...
중복이고 뭐고 다 고려할 필요없이 그냥 모든 경우의 수를 다 탐색하면 되는 문제인데
깊이 우선으로 주욱 모든 경우의 수를 탐색한걸 출력해주면 된다!

'공부 > 백준' 카테고리의 다른 글

9663번: N-Queen(백준 C++)  (0) 2020.11.09
1010번: 다리 놓기(백준 C++)  (0) 2020.11.08
15650번: N과 M(2)(백준 C++)  (0) 2020.11.05
15649번: N과 M(1)(백준 C++)  (0) 2020.11.04
10814번: 나이순 정렬(백준 C++)  (0) 2020.11.03