#include <stdio.h>
void Backtracking(int Arr[], int N, int M, int d) {
for (int i = 1; i <= N; i++) {
int k = 0;
if (d == 0)
Arr[0] = i;
else
{
for (k=0; k < d; k++) {
if (Arr[k] == i) break;
}
if (k == d) {
Arr[d] = i;
}
else continue;
}
if (M-1 == d) {
for (int k = 0; k < M; k++)
printf("%d ", Arr[k]);
printf("\n");
}
else Backtracking(Arr, N, M, d + 1);
}
}
int main() {
int N, M;
int Arr[8] = { 0, };
scanf("%d%d", &N, &M);
Backtracking(Arr, N, M, 0);
return 0;
}
'백준 연습' 카테고리의 다른 글
백준 15651번 C언어 (0) | 2020.08.16 |
---|---|
백준 15650 C언어 (0) | 2020.08.16 |
백준 9461 C언어 (0) | 2020.08.15 |
백준 1003번 C언어 (0) | 2020.08.14 |
백준 2748 C언어 (0) | 2020.08.14 |