중복되지 않은 순열을 풀때는
방문 표시가 필수!
#### 순열
N, M = map(int, input().split())
num = list(map(int, input().split()))
num.sort()
visited = [0] * N
choice = [0] * M
def perm(idx):
if idx == M:
print(" ".join(map(str, choice)))
return
for i in range(N):
if visited[i] == 0:
choice[idx] = num[i]
visited[i] = 1
perm(idx+1)
visited[i] = 0
perm(0)
'알고리즘 문제 풀기 > 백준(Baekjoon)' 카테고리의 다른 글
[백준 알고리즘] 2309.일곱난쟁이 - 부분집합의 합(조합) (0) | 2021.03.21 |
---|---|
[백준 알고리즘] 15655. N과 M (6) - 조합 (0) | 2021.03.20 |
[백준 알고리즘] 15652. N과 M (4) - 중복조합 (0) | 2021.03.20 |
[백준 알고리즘] 15651. N과 M (3) - 중복순열 (0) | 2021.03.20 |
[백준 알고리즘] 15650. N과 M (2) - 조합 (0) | 2021.03.20 |