백트래킹 기본기본문제
#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 |