입력 코드
#include <stdio.h>
char res[17];
int N, chk[9];
void dpl(int depth)
{
int i;
if (depth == N) printf("%s", res);
for (i = 1; i <= N; i++)
{
if (chk[i] == 1) continue;
chk[i] = 1;
res[2 * depth] = i + '0';
dpl(depth + 1);
chk[i] = 0;
}
}
int main(void)
{
int i;
scanf("%d", &N);
for (i = 0; i < N; i++) res[2 * i + 1] = ' ';
res[2 * N - 1] = '\n';
dpl(0);
return 0;
}
출처 www.acmicpc.net/source/8026601
코드 설명
#브루트포스 알고리즘 #백트래킹
참고
문제 출처
'C' 카테고리의 다른 글
#106. [백준_C언어] 10971 : 외판원 순회 2 \ 백트래킹 (0) | 2021.03.07 |
---|---|
#105. [백준_C언어] 6603 : 로또 \ 백트래킹 (0) | 2021.03.07 |
#103. [백준_C언어] 1094 : 막대기 \ 비트마스킹 (0) | 2021.02.27 |
#102. [백준_C언어] 11723 : 집합 \ 비트마스킹 (0) | 2021.02.27 |
#101. [백준_C언어] 15649 : N과 M (1) \ 백트래킹 (0) | 2021.02.26 |