문제해결(PS)/백준(BOJ)

백준 15654 N과 M (5)

곰탱이장 2024. 12. 22. 17:59

https://www.acmicpc.net/problem/15654

 

 이 문제는 N 개의 자연수 중 M개의 자연수를 골라 만든 수열을 사전순에 맞게 배열하는 문제이다. 이 문제는 간단하게 DFS를 이용하여 풀 수 있다

def DFS(seq,visited):
    if len(seq.split()) == M:
        print(seq)
        return
    for i in Ns:
        if i not in visited:
            visited.append(i)
            DFS(seq+' '+str(i),visited)
            visited.pop()

N,M = map(int,input().split())

Ns = list(map(int,input().split()))
Ns = sorted(Ns)

for a in Ns:
    DFS(str(a),[a])