boj

백준 15654 n과m 5번 -python

boj-15654

Posted by 동식이 블로그 on August 23, 2019

백준 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)