[python 파이썬] 백준 12865번 평범한 배낭

2021. 2. 9. 00:11Algorithm/BOJ

반응형

 

 

12865번: 평범한 배낭

첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000)

www.acmicpc.net

 

N,K = map(int, input().split())
weight = [0]
gold =[0]
for _ in range(N):
    w, g= map(int, input().split())
    weight.append(w)
    gold.append(g)
    


dp=[[0  for i in range(K+1)] for k in range(N+1)]
for w in range(1, N+1):

    for i in range(1, K+1):
        if i>= weight[w]:
                
                dp[w][i]=max(dp[w-1][i], dp[w-1][i-weight[w]]+gold[w])
        else:
            
                dp[w][i]=dp[w-1][i]
print(dp[N][K])
반응형