기록하고 까먹지 말기

15649 본문

전공/백준

15649

yha97 2022. 10. 10. 09:59

날짜 : 2022. 10. 10

사용 언어 : python

 

문제

코드

import sys

def dfs():
    if len(stack) >= m:
        for i in stack:
            print(i, end=' ')
        print()
        return
    for i in range(1, n+1):
        if check[i] == False:
            check[i] = True
            stack.append(i)
            dfs()
            stack.pop()
            check[i] = False
    return
    pass

n, m = map(int, sys.stdin.readline().split())
stack = []
check = [False] * (n+1)
dfs()

# 출력할 스택과 방문여부 체크용 리스트 생성
# 재귀적으로 실행하면서 출력스택 용량이 다 차면 출력 후 해당 함수를 빠져나오면서 False로 다시 반환

 

 

알게된 점

- 어제 풀이한 백트래킹의 기본 예제다.

 

 

참고 사이트

 

'전공 > 백준' 카테고리의 다른 글

15652  (0) 2022.10.10
15651  (0) 2022.10.10
15650  (0) 2022.10.09
BFS 응용문제(이코테)  (0) 2022.10.08
DFS 응용문제(이코테)  (0) 2022.10.08