728x90

2022.01.20

백준 15651N과 M (3)

#15651 N과 M (3)

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

def dfs():
    if len(R) == M:
        print(*R)
        return
        
    for i in range(1,N+1):
        R.append(i)
        dfs()
        R.pop()

dfs()

 

 

처음에 return을 넣어주지 않았더니 무한 재귀가 되어버려서 depth오류가 나왔다.

 

 

재귀적 방법을 사용할 때는 return으로 어디서 빠져나올지 잘 생각해야겠다.

 

백트래킹 문제.. 그런데 백트래킹이 뭔지 잘 모르겠다.

dfs와 같이 재귀적으로 진행하고, 사이에 조건을 추가해서 아닌 가지를 잘라내는 것?

또 여러 문제를 풀어봐야지

 

 

728x90

'Algorithm' 카테고리의 다른 글

백준 1978 파이썬  (0) 2022.01.23
백준 15652 파이썬  (0) 2022.01.21
백준 15649 파이썬  (0) 2022.01.17
백준 1697 파이썬  (0) 2022.01.14
백준 1436 파이썬  (0) 2022.01.13

+ Recent posts