마찬가지로 코드에 큰 변화는 없다.
#include <stdio.h>
int Arr[8] = { 0, };
void BackTracking(int N, int M, int d) {
for (int i = 1, k; i <= N; i++) {
if (d == 0) Arr[d] = i;
else {
for (k = 0; k < d; k++) {
if (Arr[k] > i) break;
}
if (k == d) Arr[d] = i;
else continue;
}
if (M == d + 1) {
for (int n = 0; n < M; n++)
printf("%d ", Arr[n]);
printf("\n");
}
else BackTracking(N, M, d + 1);
}
}
int main() {
int N, M;
scanf("%d%d", &N, &M);
BackTracking(N, M, 0);
return 0;
}
'백준 연습' 카테고리의 다른 글
백준 10857 c언어 (0) | 2021.06.29 |
---|---|
백준 9663 C언어 (0) | 2020.08.16 |
백준 15651번 C언어 (0) | 2020.08.16 |
백준 15650 C언어 (0) | 2020.08.16 |
백준 15649 C언어 (0) | 2020.08.16 |