백준(15652) : N과 M(4)

지환·2023년 9월 9일
0

백준(python)

목록 보기
33/67

출처 | https://www.acmicpc.net/problem/15652

코드

N,M = map(int,input().split())
rs = []

def recursive(num):
    if len(rs) == M:
        print(' '.join(map(str,rs)))
        return
    
    for i in range(num,N+1):
        rs.append(i)
        recursive(i)
        rs.pop()
        
recursive(1)

recursive(i):

현재 i를 포함하는 경우를 고려한다.

rs 리스트에 i를 추가한 후, 재귀적으로 다음 원소를 선택하는 것을 진행한다.

이후에 rs에서 i를 제거하고 다음 원소로 넘어간다.

recursive(i+1):

현재 i를 포함하지 않는 경우를 고려한다.
rs 리스트에 i를 추가하지 않고, 바로 다음 원소로 넘어 간다.

profile
아는만큼보인다.

0개의 댓글