백준 15652 N과 M(4)

김민영·2023년 1월 6일
0

알고리즘

목록 보기
33/125

과정

  • 백트래킹
  • N과 M(3) 문제는 수열에서 순서를 고려했지만, 이번 문제는 수열의 순서를 고려하지 않는다.
    • 112, 121은 N과 M(3)에선 다른 수열이었지만, N과 M(4)에선 같은 수열이다
  • 함수를 재귀로 실행할 때, 현재 인덱스 이후부터 고려하도록 한다.
N, M = map(int, input().split())
lst = [i for i in range(1, N+1)]
result = []

def main(N, M, level, idx):
    if level == M:
        print(*result)
        return
    for i in range(idx, N):
        result.append(lst[i])
        main(N, M, level+1, i)
        result.pop()

main(N, M, 0, 0)
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글