Potato

 

 

  • 수열을 구하기 위해 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

+ Recent posts