동캄의 코딩도장

백준 15664 [N과 M (10)] 파이썬 본문

코테/BOJ

백준 15664 [N과 M (10)] 파이썬

동 캄 2025. 3. 3. 15:02
반응형

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

 

#백준 15664 N과M (10)
from collections import deque
n,m=map(int,input().split())

lst=list(map(int,input().split()))
lst.sort()
s=deque()
ans=[]
def search(visit):
    if len(s)==m: #길이를 만족하면
        ans.append(' '.join(map(str,s))) #정답 배열에 저장
        return
    for i in range(n):
        if visit[i]==1: # 방문했다면 추가로 방문하지 않음
            continue
        if not s: #배열에 원소가 없다면 일단 추가
            s.append(lst[i])
            visit[i]=1
            search(visit)
            visit[i]=0
            s.pop()
        elif s[-1]<=lst[i]: #배열에 원소가 있다면 작거나 같은지 확인하고 추가
            s.append(lst[i])
            visit[i]=1
            search(visit)
            visit[i]=0
            s.pop()

visited=[0 for _ in range(n)]
search(visited)
ans=set(ans) #중복 제거
result=[]
for val in ans:
    result.append(list(map(int,val.split()))) #중복제거하고 정렬위해 int로 변경 후 다른 배열에 저장
result.sort() #정렬
for a in result: #출력
    print(*a)
반응형

'코테 > BOJ' 카테고리의 다른 글

백준 1547 [공] 파이썬  (0) 2025.03.03
백준 15665 [N과 M (11)] 파이썬  (0) 2025.03.03
백준 1021 [회전하는 큐] 파이썬  (0) 2025.03.03
백준 9466 [텀 프로젝트] 파이썬  (0) 2025.02.26
백준 4179 [불!] 파이썬  (0) 2025.02.25