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);
}