728x90
2022.01.21
백준 15652 N과 M (4)
# 15652 N과 M (4)
N, M = map(int, input().split())
R = []
def dfs():
if len(R) == M:
print(*R)
return
for i in range(1,N+1):
try:
if i >= R[-1]:
R.append(i)
dfs()
R.pop()
except:
R.append(i)
dfs()
R.pop()
dfs()
예시 출력을 보면 뒤의 숫자가 항상 바로 앞 숫자보다 크거나 같은 것을 알 수 있다.
때문에 R[-1] 보다 크거나 같으면 되는데 그냥 하나만 넣어주면 R = [] 으로 요소가 없어서 range오류가 나온다.
이걸 try; except구문으로 해결해줬다.
728x90
'Algorithm' 카테고리의 다른 글
백준 14889 파이썬 (0) | 2022.01.24 |
---|---|
백준 1978 파이썬 (0) | 2022.01.23 |
백준 15651 파이썬 (0) | 2022.01.20 |
백준 15649 파이썬 (0) | 2022.01.17 |
백준 1697 파이썬 (0) | 2022.01.14 |