Problem Solving/백준
[BOJ 백준] 15655번 : N과 M(6) - Python
돌돌김
2021. 1. 3. 00:52
조합을 구하는 문제이다.
순열과 달리, 사용했던 원소를 체크해주는게 관건이다.
# 조합
n, m = map(int, input().split())
data = list(map(int, input().split()))
data.sort()
result = []
checked = [False]*n
def dfs(idx, count):
if count == m:
print(*result)
return
for i in range(idx, len(data)):
if checked[i] == True: continue
checked[i] = True
result.append(data[i])
dfs(i, count+1)
result.pop()
checked[i] = False
dfs(0, 0)