반응형
SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기)
중복 순열에서 순서가 의미가 없다면, 중복 조합이 된다.
중복으로 선택은 가능하되, 다음으로 선택해야할 숫자가 작아서는 안되므로,
DFS에 현재 선택한 값을 그대로 넘겨주면, 다음 Level에서는 작은 값을 선택할 수 없게 된다.
#include <stdio.h>
int N, M;
int list[10];
void outputList()
{
for (int i = 0; i < M;i++) printf("%d ", list[i]);
putchar('\n');
}
void DFS(int L, int start)
{
if (L == M)
{
outputList();
return;
}
for (int i = start; i <= N;i++)
{
list[L] = i;
DFS(L + 1, i);
}
}
int main(void)
{
scanf("%d %d", &N, &M);
DFS(0, 1);
return 0;
}
반응형
'알고리즘 > BAEKJOON' 카테고리의 다른 글
BOJ 15655 : N과 M (6) - 조합 combination (0) | 2021.02.22 |
---|---|
BOJ 15654 : N과 M (5) - 순열 permutation (0) | 2021.02.22 |
BOJ 15651 : N과 M (3) - 중복 순열 permutations with repetition (0) | 2021.02.21 |
BOJ 15650 : N과 M (2) - 조합 combination (0) | 2021.02.20 |
BOJ 15649 : N과 M (1) - 순열 permutation (0) | 2021.02.20 |
댓글