N, M = map(int, input().split())
num_list = sorted(list(map(int, input().split())))
s = []
visited = [False] * N
def dfs():
if len(s) == M:
print(' '.join((map(str, s))))
return
remember_me = 0
for i in range(N):
if not visited[i] and remember_me != num_list[i]:
visited[i] = True
s.append(num_list[i])
remember_me = num_list[i]
dfs()
s.pop()
visited[i] = False
dfs()
https://www.acmicpc.net/problem/15663
'study > Algorithm' 카테고리의 다른 글
[백준] 파이썬 2745번: 진법 변환 (0) | 2024.03.30 |
---|---|
[백준] 2902번: KMP는 왜 KMP일까? (0) | 2024.03.30 |
[백준] 파이썬 25192번: 인사성 밝은 곰곰이 (0) | 2024.03.30 |
[백준] 파이썬 15650 : N과 M (2) (0) | 2024.03.30 |
[백준] 파이썬 24313 : 알고리즘 수업 - 점근적 표기 1 (0) | 2024.03.30 |