백준 15654 n과m 5번 -python
문제풀이
- 이전 1~4번 문제와는 다르게 n의 범위만큼 배열이 주어지는것이 아닌 배열의 입력이 주어진다
- 입력된 배열을 오름차순으로 정렬하고 그 배열을 m의 범위에 맞게 중복있는 순열로 출력해준다
- 이 문제 부터는 변수를 알아보기 쉽게 index와 n, m으로 표현 !!
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def f(index, n, m):
if(index == m):
print(*res)
return
else:
for i in range(n):
if(visited[i] == 0):
visited[i] = 1
res[index] = arr[i]
f(index+1, n, m)
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)