파이썬 알고리즘
[파이썬] 백준 15649 N과 M (1)
뜻 지, 깨달음 오
2022. 12. 6. 18:59
https://www.acmicpc.net/problem/15649
이 문제를 풀때 가장 주의해야할 점은 1 2랑 2 1이 각각 다른 경우라는 것이다.
즉, 매번 used배열 값을 초기화해야한다.
<전체풀이>
N, M = map(int, input().split())
arr = list(range(1, N+1))
used = [0]*N
path = [0]*M
def rcr(level):
if level == M:
print(*path)
return
for i in range(N):
if used[i] == 1:
continue
used[i] = 1
path[level]=arr[i]
rcr(level+1)
path[level] = 0
used[i] = 0
rcr(0)