728x90
import sys
n, m = map(int, sys.stdin.readline().split())
res = []
def backTracking(depth): #1
if depth == m:
print(*res)
return
for i in range(1, n+1): #2
if res and res[-1] > i:
continue
res.append(i)
backTracking(depth+1) #3
res.pop()
backTracking(0)
#2, 3 : index를 이전 원소와 같은 숫자로 시작하게 하기 위해 i+1이 아닌 i를 인수로 입력
다른풀이)
import sys
n, m = map(int, sys.stdin.readline().split())
res = []
def backTracking(depth):
if depth == m:
print(*res)
return
for i in range(1, n+1):
if len(res) == 0 or res[-1] <= i:
res.append(i)
backTracking(depth+1)
res.pop()
backTracking(0)
다른풀이)
import sys
n, m = map(int, sys.stdin.readline().split())
res = []
def backTracking(depth):
if len(res) == m:
print(*res)
return
for i in range(depth, n+1):
res.append(i)
backTracking(i)
res.pop()
backTracking(1)
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 2206 파이썬(python) : 벽 부수고 이동하기 - (3중 리스트) (0) | 2022.06.27 |
---|---|
[백준] 2178 파이썬(python) : 미로 탐색 (0) | 2022.06.27 |
[백준] 15650 파이썬(python) : N과 M (2) - (combinations이용) (0) | 2022.06.26 |
[백준] 14888 파이썬(python) : 연산자 끼워넣기 - (★) (0) | 2022.06.25 |
[백준] 15649 파이썬(python) : N과 M (1) - (permutations이용) (0) | 2022.06.25 |