我在写knapsack
w = [0 for x in xrange(item_count+1)]
v = [0 for x in xrange(item_count+1)]
分别赋值和权重(v,w)。创建
c = [[0 for x in xrange(capacity+1)] for x in xrange(item_count+1)]
c、w和v分别在此之后赋值(不是零)
for i in range(1,item_count+1):
#for ever possible weight
for j in range(0,capacity+1):
#can we add this item to this?
if w[i] <= j :
c[i][j] = max(c[i-1][j], v[i] + c[i-1][j-w[i]])
else:
c[i][j] = c[i-1][j]
如果w[i] <= j:
总是False
,即使在打印时w[i]
似乎大于j
。不知道为什么?你知道吗
在您的代码中,w[i]始终为0。初始化后从未接触过
相关问题 更多 >
编程相关推荐