[백준] 15649: N과 M(1) (Python)

JiKwang Jeong·2021년 11월 23일
0
post-custom-banner

문제📖

풀이🙏

  • dfs, backtracking을 이용한다
  • depth는 m으로 하여 depth가 m이 되면 리스트를 ' '으로 합쳐서 출력한다.

코드💻

n, m = map(int, input().split())
arr = [] 

def dfs():
    if len(arr) == m:
        # arr을 ' '로 합쳐서 출력한다.
        print(' '.join(map(str, arr)))
        return
    
    for i in range(1, n+1):
        # 같은 숫자 중복 제거
        if i not in arr:
            arr.append(i)
            dfs()
            arr.pop()

dfs()
profile
기억보다 기록, 난리보다 정리
post-custom-banner

0개의 댓글