반응형
풀이
- 해당 문제는 백트래킹 문제로
- 이전에 포스팅한 집합과 순열을 사용하면서
- itertools에 있는 메서드를 가지고 온거에 대한 찝찝함으로 백트래킹 문제를 하나 풀고 싶었다..핳
- 무튼 해당 문제는 단순히
- cnt와 x를 1씩 증가 시키는 형식으로 하여
- cnt가 m이 될 경우 출력하며, x는 범위를 지정해주는 역할로 사용
- 그리고 li에 추가한 뒤 함수 실행 이후 return 되는 경우엔
- 다시 가장 최근 값을 pop 함수로 빼내는 형식으로 백트래킹 문제를 해결
def NM(cnt,x):
global n,m
if cnt == m:
print(*li)
return
for i in range(x,n+1):
li.append(i)
NM(cnt+1,i+1)
li.pop()
return
import sys
input = sys.stdin.readline
n,m = map(int,input().split())
li = []
NM(0,1)
'알고리즘' 카테고리의 다른 글
[백준, 파이썬, 1912번] 연속합 (0) | 2023.09.14 |
---|---|
[백준, 파이썬, 15886번] 내 선물을 받아줘 2 (0) | 2023.09.14 |
[백준, 파이썬, 5568번] 카드 놓기 (0) | 2023.09.13 |
[백준, 파이썬, 16174번] 점프왕 쩰리 (Large) (0) | 2023.09.12 |
[백준, 파이썬, 18311번] 왕복 (0) | 2023.09.12 |