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,7,8,7],
- [6,4,7,6],
- [7,5,6,5],
- [4,3,5,9]]
- results = []
- permute(range(len(matrix)), results)
- minval = sys.maxsize
- 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+[rows[i]]
- index_asign=index_asign+1
- #Przypisanie
- print(res_final)
- #Ostateczny koszt
- print(minval)
Add Comment
Please, Sign In to add comment