알고리즘/분할정복 & 재귀 & 백트래킹
                
              [백준] 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);
}