DAA 3

CODE


# 0/1 Knapsack using Dynamic Programming.


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

v = []

w = []


for i in range(n):

    v.append(int(input(f"Value {i+1}: ")))

    w.append(int(input(f"Weight {i+1}: ")))


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

dp = [[0]*(cap+1) for _ in range(n+1)]


for i in range(1, n+1):

    for j in range(1, cap+1):

        if w[i-1] <= j:

            dp[i][j] = max(v[i-1] + dp[i-1][j-w[i-1]], dp[i-1][j])

        else:

            dp[i][j] = dp[i-1][j]


print("Maximum value =", dp[n][cap]) 

Comments

Popular posts from this blog

DAA 1

DAA 4

BT 4