মডিউল ১৮_৪ঃ Knapsack Top Down Approach ইমপ্লিমেন্টেশনসহ
int knapsack(int n, int weight[], int value[], int W)
{
if (n == 0 || W == 0)
return 0;
if (dp[n][W] != -1)
{
return dp[n][W];
}
if (weight[n - 1] <= W)
{
// duita option
// niye dekhbo, na niye dekhbo
int op1 = knapsack(n - 1, weight, value, W - weight[n - 1]) + value[n - 1];
int op2 = knapsack(n - 1, weight, value, W);
return dp[n][W] = max(op1, op2);
}
else
{
// ekta option
// na niyei dekhte hobe
int op2 = knapsack(n - 1, weight, value, W);
return dp[n][W] = op2;
}
}


Last updated