Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- def permute(a, results):
- if len(a) == 1:
- results.insert(len(results), a)
- else:
- for i in range(0, len(a)):
- element = a[i]
- a_copy = [a[j] for j in range(0, len(a)) if j != i]
- subresults = []
- permute(a_copy, subresults)
- for subresult in subresults:
- result = [element] + subresult
- results.insert(len(results), result)
- matrix = [[-5.6,-3.2,-4.4,-4.7,0],
- [-6,-3.5,-4.6,-4.5,0],
- [-sys.maxsize,-4,5,-4.8,0],
- [-sys.maxsize,-3.8,-4.7,-4.8,0],
- [-4.8,-4,-4.5,-4.2,0]]
- results = []
- permute(range(len(matrix)), results)
- minval = 0
- res_asign=[]
- for indexes in results:
- cost =0
- for row, col in enumerate(indexes):
- cost += matrix[row][col]
- if (cost>minval):
- minval = cost
- res_asign=indexes
- index_asign=0
- res_final=[]
- for rows in matrix:
- for i in range(0,len(rows)):
- if(res_asign[index_asign]==i):
- res_final=res_final+[i+1]
- index_asign=index_asign+1
- #Przypisanie
- print(res_final)
- #Ostateczny koszt
- print(minval)
Add Comment
Please, Sign In to add comment