1~N 모든 조합
import sys
input = sys.stdin.readline
N,M = map(int,input().split())
nums=[]
def dfs():
if len(nums) == M:
print(' '.join(nums))
return
for i in range(1,N+1):
nums.append(str(i))
dfs()
nums.pop()
dfs()
앞의 수보다 뒤의 수가 크거나 같은 모든 조합
import sys
input = sys.stdin.readline
N,M = map(int,input().split())
nums=[]
def dfs(start):
if len(nums)==M:
print(' '.join(nums))
return
for i in range(start,N+1):
nums.append(str(i))
dfs(i)
nums.pop()
dfs(1)