fork(1) download
  1. def knapsack(v,w,n,W):
  2. V = [[None for x in range(W+1)] for x in range(len(v)+1)]
  3.  
  4. for wy in range(W+1):
  5. V[0][wy] = 0
  6.  
  7. for i in range(1,n+1):
  8. for wx in range(W+1):
  9. # print i,wx
  10. if w[i-1] <= wx:
  11.  
  12. V[i][wx] = max(V[i-1][wx], v[i-1]+V[i-1][wx-w[i-1]])
  13. else:
  14. V[i][wx] = V[i-1][wx]
  15. return V[n][W]
  16.  
  17. print knapsack(v = [10,40,30,50],w=[5,4,6,3],n=4,W=10)
Success #stdin #stdout 0.01s 7896KB
stdin
Standard input is empty
stdout
90