1단계: 문제 파악
2단계: 배경 지식
3단계: 문제 풀이
4단계: 코드 작성
#include<iostream>
int combination[9] = {0,};
int m, n;
bool visited[9] = { false, };
void Depth_First_Search(int count) {
if (count == m) {
for (int i = 0; i < m; i++) {
printf("%d ", combination[i]);
}
printf("\n");
return ;
}
for (int i = 1; i < n + 1; i++) {
int k = (count > 0) ? count - 1 : 0;
if (!visited[i]&& i > combination[k]) {
combination[count] = i;
visited[i] = true;
Depth_First_Search(count + 1);
visited[i] = false;
}
}
}
int main() {
scanf("%d %d", &n, &m);
Depth_First_Search(0);
}
'백준' 카테고리의 다른 글
[JAVA] 백준 22871 징검다리 건너기(이분 탐색) (1) | 2024.01.11 |
---|---|
백준 15652번 문제 C++ (0) | 2022.01.24 |
백준 15651번 문제 C++ (0) | 2022.01.24 |
백준 15649번 문제 C++ (0) | 2022.01.24 |
백준 2557번 문제 C++ (0) | 2022.01.18 |