728x90
반응형
기본적인 백트래킹 문제이다. 15663번 N과 M (9)과 비슷한 문제이다.
def dfs(depth):
if depth == M:
s = ' '.join(map(str, li))
if s not in d:
d[s] = 1
print(s)
return ;
for i in range(N):
if check[i]:
continue
li.append(nums[i])
check[i] = 1
dfs(depth+1)
li.pop()
for j in range(i+1, N):
check[j] = 0
N, M = map(int, input().split())
nums = sorted(map(int, input().split()))
d = {}; li = []
check = [0]*N
dfs(0)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 15666번 N과 M (12)(python) (0) | 2021.03.24 |
---|---|
백준 알고리즘 15665번 N과 M (11)(python) (0) | 2021.03.24 |
백준 알고리즘 15663번 N과 M (9)(python) (0) | 2021.03.24 |
백준 알고리즘 19949번 영재의 시험(python) (0) | 2021.03.24 |
백준 알고리즘 18429번 근손실(python) (0) | 2021.03.24 |