upd
This commit is contained in:
20
algorithms/labs/lab7/code/2.py
Normal file
20
algorithms/labs/lab7/code/2.py
Normal file
@@ -0,0 +1,20 @@
|
||||
def greedy_thief(weights, values, M, K):
|
||||
items = list(zip(weights, values))
|
||||
items.sort(key=lambda x: x[1] / x[0], reverse=True)
|
||||
cap = M * K
|
||||
total_value = 0
|
||||
chosen = []
|
||||
for w, v in items:
|
||||
if w <= cap:
|
||||
chosen.append((w, v))
|
||||
cap -= w
|
||||
total_value += v
|
||||
return total_value, chosen
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
weights = [2, 3, 4, 5, 9, 7, 3]
|
||||
values = [3, 4, 5, 8, 10, 7, 6]
|
||||
M = 2
|
||||
K = 10
|
||||
print(greedy_thief(weights, values, M, K))
|
||||
Reference in New Issue
Block a user