자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.
백트래킹
import sys
n, m = map(int, sys.stdin.readline().split())
array = []
answer = []
def dfs(num):
if len(array) == m:
print(*array)
return
for i in range(num, n+1):
if i not in array:
array.append(i)
# 중복이 없어야 하므로 (앞자리 수가 뒷자리보다 더 큰 경우는 X)
# 하나 더 큰 수부터 dfs 돌리기
dfs(i+1)
array.pop()
dfs(1)