BOJ

백준 15654. N과 M (5) [Python]

Hoo_Dev 2022. 6. 4. 14:10
 

15654번: N과 M (5)

N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열

www.acmicpc.net

def recur(lev):
    if lev == M:
        print(*path)
        return
    for i in range(N):
        if visited[i] == 0:
            visited[i] = 1
            path.append(arr[i])
            recur(lev+1)
            visited[i] = 0
            path.pop()



N, M = map(int, input().split())
arr = list(map(int, input().split()))
arr.sort()
visited = [0] * N
path = []

recur(0)

visited를 통해 중복된 값을 처리해준다.

'BOJ' 카테고리의 다른 글

백준 15656. N과 M (7) [Python]  (0) 2022.06.04
백준 15655. N과 M (6) [Python]  (0) 2022.06.04
백준 15652. N과 M (4) [Python]  (0) 2022.06.03
백준 15651. N과 M (3) [Python]  (0) 2022.06.03
백준 15650. N과 M (2) [Python]  (0) 2022.06.03