- 수열을 구하기 위해 dfs를 사용하였다
- 중복수열이 아니기 때문에 중복값이 나오지 않도록 used를 사용하여 방문체크를 했다
N,M = map(int,input().split())
path = [''] * M
used = [0] * N
def dfs(level):
if level == M:
for i in range(M):
print(path[i], end = ' ')
print()
return
for j in range(N):
if used[j] == 0: # 사용하지 않은 수라면
used[j] = 1
path[level] = j+1 # path에 값 저장
dfs(level+1)
used[j] = 0
dfs(0)
'Python > 백준' 카테고리의 다른 글
[백준/Python] 10828. 스택 (0) | 2022.10.25 |
---|---|
[백준/Python] 9095. 1,2,3 더하기 (0) | 2022.10.24 |
[백준/Python] 2468. 안전 영역 (0) | 2022.10.19 |
[백준/Python] 7562. 나이트의 이동 (0) | 2022.10.18 |
[백준/Python] 3055. 탈출 (0) | 2022.10.18 |