알고리즘/분할정복 & 재귀 & 백트래킹

[백준] 10974 모든 순열

HJ39 2023. 5. 17. 01:23

이 문제는 N과 M 시리즈 문제를 풀었다면 정말 눈감고(?)도 풀 수 있다.

 

 

 

#include <bits/stdc++.h>

using namespace std;

vector<int> arr10974;
vector<bool> check10974(9,0);

void backback10974(int N, int count){
    if(N == count){
        for(int i=0;i<N;++i)
            cout<<arr10974[i]<<" ";
        cout<<"\n";
        return;
    }
    
    for(int i=1;i<=N;++i){
        if(!check10974[i]){
            check10974[i] = true;
            arr10974.push_back(i);
            backback10974(N, count+1);
            arr10974.pop_back();
            check10974[i] = false;
        }
    }
    
}

void everything10974(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    int N; cin>>N;
    backback10974(N, 0);
}

'알고리즘 > 분할정복 & 재귀 & 백트래킹' 카테고리의 다른 글

[백준] 16974 레벨 햄버거  (0) 2023.05.19
[백준] 10819 차이를 최대로  (0) 2023.05.17
[백준] 2580 스도쿠  (0) 2023.05.16
[백준] 1987 알파벳  (0) 2023.05.15
[백준] 1182 부분 수열의 합  (0) 2023.05.15