본문 바로가기

알고리즘/백준 ~ 단계별 풀어보기

백준 15652번 "N과 M (4)"

파이썬

import itertools
import sys

n , m  = map(int, sys.stdin.readline().split())

ans_list = []

def dfs():
    if len(ans_list) == m:
        print(" ".join(map(str, ans_list)))
        return
    
    for i in range(1, n+1):
        if not ans_list:
            ans_list.append(i)
            dfs()
            ans_list.pop()
        elif i >= ans_list[-1]:
            ans_list.append(i)
            dfs()
            ans_list.pop()
            
            
dfs()