[백준] 15649번 (python 파이썬) N과 M(1)

2021. 3. 27. 15:40발돋움/알고리즘

728x90
반응형

한번 썼던 수를 제외하고 출력하면 되는 문제이다.

간단하게 방문했는지 안했는지를 True False로 표시하고

방문하지 않았을때 리스트에 담아준다음 자릿수가 m개 일때 출력해주면 된다!

728x90
def solve(idx, n, m):
    if idx == m:
        print(' '.join(map(str, num)))
        return
    for i in range(1, n + 1):
        if not visited[i]:
            visited[i] = True
            num.append(i)
            solve(idx + 1, n, m)
            visited[i] = False
            num.pop()
            
            
idx = 0
num = []
n, m = map(int, input().split())
visited = [False] * (n + 1)
solve(0, n, m)    

sys.stdin.readline()을 쓰면 200ms로 쬐에에끔 더 빠르다

728x90
반응형