728x90
반응형
import sys
n,m = map(int,sys.stdin.readline().split())
arr = [0]*9
visit = [0]*9
def backtrack(k):
if (k == m): #m개까지 왔다
for i in range(m):
print(arr[i], end=" ")
print()
return
for i in range(1, n+1):
if visit[i] == 0: # i가 처음이라면
arr[k] = i # k번째 수를 i로 정함
visit[i] = 1 #방문 표시
backtrack(k+1) # 다음 단계 진입
visit[i] = 0 # k번째 수가 i일 때의 모든 경우를 확인했으니
# i를 다시 사용하지 않음으로 표시
backtrack(0) #root부터 시작
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
[백준] [Python] 1012번 유기농배추 - BFS (0) | 2021.05.02 |
---|---|
[백준] [Python] 1764번 듣보잡 - 정렬 (0) | 2021.05.01 |
[백준] [Python] 1074번 Z - 재귀 (0) | 2021.04.29 |
[백준] [Python] 11729번 하노이탑 이동순서 - 재귀 - [대표예제] (0) | 2021.04.29 |
[백준] [Python] 1697번 숨바꼭질 - BFS (0) | 2021.04.29 |