- 알고리즘 유형 : 백트래킹
- 풀이 참고 : 없음
- 문제 링크 : https://www.acmicpc.net/problem/15650
풀이 요약
중복이 없는 배열이 나와야 하므로 for문 에서 i가 인자보다 클때만 재귀를 들어가게 하였다.
코드(python)
n, m = map(int, input().split())
arr = []
def dfs(index):
if len(arr) == m:
print(' '.join(map(str, arr)))
for i in range(1, n+1):
if i >= index: # 중복을 없에는 재귀 조건
arr.append(i)
dfs(i+1)
arr.pop()
dfs(1)
배운 점, 배울 점
10분도 안걸려서 푼거같다! 기분이가 좋다.
재귀를 많이 다루어 보면서 일반적인 흐름을 키워야 겠다.
반응형
'Develop > Algorithm' 카테고리의 다른 글
[알고리즘]BOJ_카드_11652 (0) | 2022.12.16 |
---|---|
[BOJ]14888_연산자 끼워넣기_C언어 (0) | 2022.10.28 |
[BOJ]N과 M(4)_15672 (0) | 2022.10.23 |
[BOJ]N과 M (1)_15649 (백트래킹) (1) | 2022.10.22 |
[BOJ]N과 M(3)_15651_분할정복 (0) | 2022.10.21 |