Algorithm/C++
[백준 BoJ] 15650 - N과 M(2)
cgy12306
2021. 12. 22. 20:49
// https://www.acmicpc.net/problem/15650
// N과 M (2)
#include <iostream>
using namespace std;
int N, M;
int arr[9];
bool visited[9];
void dfs(int cnt, int num) {
if (cnt == M) {
for (int i = 0; i < M; i++) cout << arr[i] << " ";
cout << "\n";
return;
}
for (int i = num; i <= N; i++) {
if (!visited[i]) {
visited[i] = true;
arr[cnt] = i;
dfs(cnt + 1, i + 1);
visited[i] = false;
}
}
}
int main() {
cin >> N >> M;
dfs(0, 1);
}
- 백트랙킹