1条回答 默认 最新
- soar3033 2021-06-08 22:41关注
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])
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报