전공/백준
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로 다시 반환
알게된 점
- 어제 풀이한 백트래킹의 기본 예제다.
참고 사이트
-