백준 15655 n과m 6번 -python
문제풀이
- n 과 m 5번 문제에서 이전값과의 비교만 추가
- 값 비교를 위해 k에 값을 저장해주면서 재귀를 타면 된다
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def f(index, n, m, k):
if(index == m):
print(*res)
return
else:
for i in range(n):
if(visited[i] == 0):
if(k < arr[i]):
visited[i] = 1
res[index] = arr[i]
k = arr[i]
f(index+1, n, m, k)
visited[i] = 0
n, m = map(int, input().split())
arr = sorted(list(map(int, input().split())))
visited = [0 for i in range(n)]
res = [0] * m
f(0,n,m,0)