[백준 18429] 근손실

Junyoung Park·2022년 7월 6일
0

코딩테스트

목록 보기
495/631
post-thumbnail

1. 문제 설명

근손실

2. 문제 분석

백트래킹을 통해 키트의 모든 조합에 대한 중량을 체크, 마지막 날까지 중량 조건이 500 이상이라면 가산한다.

3. 나의 풀이

import sys

n, k = map(int, sys.stdin.readline().rstrip().split())
kits = list(map(int, sys.stdin.readline().rstrip().split()))
answer = 0
check = [False for _ in range(n)]

def DFS(day, weight):
    global answer
    if weight < 500: return
    if day == n:
        answer += 1
        return

    for i in range(n):
        if not check[i]:
            check[i] = True
            DFS(day+1, weight - k + kits[i])
            check[i] = False

DFS(0, 500)
print(answer)
profile
JUST DO IT

0개의 댓글