gringotopies

hung3

Jan 8th, 2020
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.17 KB | None | 0 0
  1.  
  2.  
  3. import sys
  4. def permute(a, results):
  5.     if len(a) == 1:
  6.         results.insert(len(results), a)
  7.     else:
  8.         for i in range(0, len(a)):
  9.             element = a[i]
  10.             a_copy = [a[j] for j in range(0, len(a)) if j != i]
  11.             subresults = []
  12.             permute(a_copy, subresults)
  13.             for subresult in subresults:
  14.                 result = [element] + subresult
  15.                 results.insert(len(results), result)
  16.  
  17. matrix = [[-5.6,-3.2,-4.4,-4.7,0],
  18.         [-6,-3.5,-4.6,-4.5,0],
  19.         [-sys.maxsize,-4,5,-4.8,0],
  20.         [-sys.maxsize,-3.8,-4.7,-4.8,0],
  21.         [-4.8,-4,-4.5,-4.2,0]]
  22.  
  23.  
  24. results = []
  25. permute(range(len(matrix)), results)
  26.  
  27. minval = 0
  28. res_asign=[]
  29. for indexes in results:
  30.     cost =0
  31.     for row, col in enumerate(indexes):
  32.         cost += matrix[row][col]
  33.     if (cost>minval):
  34.         minval = cost
  35.         res_asign=indexes
  36.      
  37.  
  38. index_asign=0
  39. res_final=[]
  40.  
  41. for rows in matrix:
  42.     for i in range(0,len(rows)):
  43.        
  44.         if(res_asign[index_asign]==i):
  45.             res_final=res_final+[i+1]
  46.     index_asign=index_asign+1
  47.    
  48.  
  49. #Przypisanie
  50. print(res_final)
  51. #Ostateczny koszt
  52. print(minval)
Add Comment
Please, Sign In to add comment