알고리즘/백준
[백준] 15650 .N과 M(2)
빙빙
2021. 4. 20. 17:45
def dfs():
if len(s) == M:
print(' '.join(map(str,s)))
return
for i in range(1, N+1):
if i in s: # 가지치기, 이미 선택한 숫자 배제
continue
if len(s) > 0: #리스트 안에 존재할 때
if s[-1] > i: #맨 끝 원소가 i보다 작을 때는 넘겨버린다.(오름차순 만들기 위함)
continue
s.append(i)
dfs() #함수호출
s.pop() # 출력 후 return하고 마지막 원소 비우기
N, M = map(int, input().split())
s = []
dfs()