def DFS(L,s):
global cnt
if L == m:
for i in res:
print(i, end =" ")
print()
cnt += 1
else:
for i in range(s, n+1):
res[L] = i
DFS(L+1, i+1)
if __name__ == "__main__":
n, m = map(int,input().split())
cnt = 0
res = [0] * m
DFS(0,1)
print(cnt)
- 앞에 들어간 숫자는 중복해서 나오면 안 되기 때문에 s로 +1 해주며 진행해준다.
'자료구조와 알고리즘 > 개인적인 코딩테스트 관련 풀이' 카테고리의 다른 글
[완전탐색][상태 트리] - 최대 점수구하기(DFS) (0) | 2022.07.25 |
---|---|
[완전탐색][가중치 방향그래프] - 인접행렬 (0) | 2022.07.25 |
[완전탐색][트리] - 순열 구하기(DFS) (0) | 2022.07.25 |
[완전탐색][트리] - 중복 수열 구하기(DFS) (0) | 2022.07.25 |
[완전탐색][상태 트리] - 바둑이 승차(DFS) (0) | 2022.07.25 |