본문 바로가기

ALGORITHM/DFS, BFS

15649 N과 M (1)

백트래킹 기본기본문제

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

int N, M;
int arr[9];
bool visit[9];

void backtracking(int cnt) {
    if (cnt == M) {
        for (int i=0; i<M; i++) {
            cout << arr[i] << " ";
        }
        cout << "\n";
        return;
    }
    for (int i=1; i<=N; i++) {
        if (!visit[i]) {
            visit[i] = true;
            arr[cnt] = i;
            backtracking(cnt + 1);
            visit[i] = false;
        }
    }
}

int main(int argc, const char * argv[]) {
    cin >> N >> M;
    backtracking(0);
    return 0;
}

 

 

 

깃허브에 올리면 저장할 필요가 없나..

'ALGORITHM > DFS, BFS' 카테고리의 다른 글

14889 스타트와 링크  (0) 2021.01.16
9663 N-Queen  (0) 2021.01.16
17267 상남자  (1) 2021.01.07
11578 팀원 모집  (0) 2020.12.26
11581 구호물자  (3) 2020.12.25