Advertisement
Guest User

Mochila

a guest
Oct 23rd, 2014
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.82 KB | None | 0 0
  1. # Nao pode repetir os itens...
  2.  
  3. # item = {Item:[peso,valor]....}
  4. item = {1:[4,500],2:[2,400],3:[1,300],4:[3,450]}
  5.  
  6. #quantidade de Itens
  7. I = len(item)
  8.  
  9. #Capacidade
  10. w = 5
  11.  
  12. #Criar matriz------------------
  13. def criamatriz(n,m):
  14.     mat =[0]*n
  15.     for i in range(n):
  16.         mat[i] = [0]*m
  17.     return mat
  18. resultado = criamatriz(I+1,w+1)
  19. #-------------------------------
  20. #Variar coluna primeiro e mais simples.
  21. for j in range(0,w+1):#Coluna
  22.     resultado[0][j] = 0 # Toda primeira coluna sera 0
  23.     for i in range(1,I+1):#Linha
  24.        
  25.         a= resultado[i-1][j]#Linha anterior
  26.         if item[i][0] > j:#Se peso > w
  27.             b = 0
  28.         else:#Se peso for menor que w
  29.            
  30.             b = resultado[i-1][j-item[i][0]]+item[i][1]
  31.            
  32.            
  33.         if (a>b):
  34.             resultado[i][j] = a
  35.         else:
  36.             resultado[i][j] = b
  37.  
  38. for k in range(0,len(resultado)):
  39.    
  40.     print(resultado[k])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement