Python作业,大佬救救孩子

Python作业,大佬救救孩子

问题描述:

 

n=int(input('输入n: '))
m=int(input('输入m: '))
volumn=input('输入体积: ').split(' ')
volumns=[int(i) for i in volumn]
value=input('输入价值: ').split(' ')
values=[int(i) for i in value]

vals=[0 for i in range(m+1)]
vols=[[0 for j in range(n)] for i in range(m+1)]

def find(c):
    vals[c]=vals[c-1]
    vols[c]=vols[c-1].copy()
    for i in range(n):
        if c-volumns[i]>=0:
            if vols[c-volumns[i]][i]==0:
                if vals[c]<vals[c-volumns[i]]+values[i]:
                    vals[c]=vals[c-volumns[i]]+values[i]
                    vols[c]=vols[c-volumns[i]].copy()
                    vols[c][i]=1
                    
for i in range(m):
    find(i+1)
    
print(vals[-1])