DAA 2

CODE

#Write a program to solve a fractional Knapsack problem using a greedy method.


n = int(input("Enter number of items: "))

values = []

weights = []


for i in range(n):

    v = float(input(f"Value {i+1}: "))

    w = float(input(f"Weight {i+1}: "))

    values.append(v)

    weights.append(w)


cap = float(input("Enter capacity: "))


items = []

for i in range(n):

    items.append((values[i], weights[i], values[i]/weights[i]))


items.sort(key=lambda x: x[2], reverse=True)


val = 0

for v, w, r in items:

    if cap >= w:

        val += v

        cap -= w

    else:

        val += v * (cap / w)

        break


print("Maximum value =", val)

Comments

Popular posts from this blog

DAA 1

DAA 4

BT 4