神奇的口袋 / python / 动态规划
题目 要求
#输入数据建立适用的模型
n=int(input())
list0=[]
for i in range(n):
list0.append(int(input()))
#建立重量与选择方式的矩阵
ways=[[0 for i in range(41)] for j in range(n+1)]
for i in range(n+1):
ways[i][0]=1
#动态规划
for k in range(1,n+1):#种类
for w in range(1,41):#重量
if w-list0[k-1]>=0:
ways[k][w]=ways[k-1][w]+ways[k-1][w-list0[k-1]]
#求取结果
print(ways[n][40])
共有 0 条评论