[백준] 15652번 (python 파이썬) N과 M(4)

2021. 3. 27. 15:54발돋움/알고리즘

728x90
반응형

같은 수를 여러번 고르는게 가능하다.

비내림차순 말이 어려워보이지만 결국 뒤에 오는 숫자가 앞에 있는 숫자보다 크거나 같아야한다.

방문을 체크할 필요없이 그냥 앞에 나왔던 수를 함수에 넣어주어서 현재의 수가 앞에 추가된 수보다 크거나 같은지 확인해주고 더해주면 된다.

728x90
def solve(idx, n, m, check):
    if idx == m:
        print(' '.join(map(str, num)))
        return
    for i in range(1, n + 1):
        if i >= check:
            num.append(i)
            solve(idx + 1, n, m, i)
            num.pop()
            
            
idx = 0
num = []
n, m = map(int, input().split())
solve(0, n, m, 0)    
728x90
반응형