问题描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/5b25573139ef4d71a77152b745ed65dd.png)
源代码
import numpy as np
def solve(vlist,wlist,totalWeight,totalLength):
resArr = np.zeros((totalLength+1,totalWeight+1),dtype=np.int32)
for i in range(1,totalLength+1):
for j in range(1,totalWeight+1):
if wlist[i] <= j:
resArr[i,j] = max(resArr[i-1,j-wlist[i]]+vlist[i],resArr[i-1,j])
else:
resArr[i,j] = resArr[i-1,j]
return resArr[-1,-1]
if __name__ == '__main__':
t1 = list(input().split())
for i in range(len(t1)):
t1[i] = int(t1[i])
weight = t1[0]
n = t1[1]
v = [0]
w = [0]
for i in range(t1[1]):
t2 = list(input().split())
for i in range(len(t2)):
t2[i] = int(t2[i])
w.append(t2[0])
v.append(t2[1])
result = solve(v,w,weight,n)
print(result)