알고리즘/백트래킹

[백준/백트래킹/C++] 15654번 N과 M(5)

데메즈 2023. 3. 3. 11:17
728x90
반응형

문제는 여기!

#include <bits/stdc++.h>

using namespace std;
int N, M;
int arr[9];
vector<int> v;
bool isVisited[9];

void makeArr(int cnt) {
    if(cnt == M) {
        for(int i=0; i<M; i++) {
            cout << arr[i] << ' ';
        }
        cout << '\n';
        return;
    }

    for(int i=0; i<N; i++) {
        if(!isVisited[i]){
            isVisited[i] = true;
            arr[cnt] = v[i];
            makeArr(cnt+1);
            isVisited[i] = false;
        }
    }
}

void input() {
    cin >> N >> M;
    for(int i=0; i<N; i++){
        int x;
        cin >> x;
        v.push_back(x);
    }
    sort(v.begin(), v.end());
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    input();
    makeArr(0);

    return 0;
}
728x90
반응형