- 문제 : N과 M (6)
- 난이도 : 실버 3
- 언어 : Python
- 문제 링크 : https://www.acmicpc.net/problem/15655
def recur(lev, next_i):
if lev == M:
print(*path)
return
for i in range(next_i, N):
if visited[i] == 0:
visited[i] = 1
path.append(arr[i])
recur(lev+1, i+1)
visited[i] = 0
path.pop()
N, M = map(int, input().split())
arr = list(map(int, input().split()))
visited = [0] * N
arr.sort()
path = []
recur(0, 0)
next_i 인자를 추가로 만들어 주고, 다음 재귀로 넘어갈 때, 오름차순으로 출력되게 함.
'BOJ' 카테고리의 다른 글
백준 15657. N과 M (8) [Python] (0) | 2022.06.04 |
---|---|
백준 15656. N과 M (7) [Python] (0) | 2022.06.04 |
백준 15654. N과 M (5) [Python] (0) | 2022.06.04 |
백준 15652. N과 M (4) [Python] (0) | 2022.06.03 |
백준 15651. N과 M (3) [Python] (0) | 2022.06.03 |