[백준 15655] N과 M (6)

Junyoung Park·2022년 7월 5일
0

코딩테스트

목록 보기
488/631
post-thumbnail

1. 문제 설명

N과 M (6)

2. 문제 분석

백트래킹을 통해 조합을 구하는 문제다.

3. 나의 풀이

import sys

n, m = map(int, sys.stdin.readline().rstrip().split())
numbers = list(map(int, sys.stdin.readline().rstrip().split()))
numbers.sort()
check = [False for _ in range(n)]

def DFS(start, cnt, num):
    if cnt == m:
        print(*num)
        return

    for i in range(start, n):
        if not check[i]:
            check[i] = True
            DFS(i, cnt + 1, num + [numbers[i]])
            check[i] = False

DFS(0, 0, [])
profile
JUST DO IT

0개의 댓글