Search
 
SCRIPT & CODE EXAMPLE
 

CPP

0-1 knapsack problem implementation of code input array

/* A Naive recursive implementation of
 0-1 Knapsack problem */
#include <bits/stdc++.h>
using namespace std;
 
// A utility function that returns
// maximum of two integers
int max(int a, int b) { return (a > b) ? a : b; }
 
// Returns the maximum value that
// can be put in a knapsack of capacity W
int knapSack(int W, int wt[], int val[], int n)
{
 
    // Base Case
    if (n == 0 || W == 0)
        return 0;
 
    // If weight of the nth item is more
    // than Knapsack capacity W, then
    // this item cannot be included
    // in the optimal solution
    if (wt[n - 1] > W)
        return knapSack(W, wt, val, n - 1);
 
    // Return the maximum of two cases:
    // (1) nth item included
    // (2) not included
    else
        return max(
            val[n - 1]
                + knapSack(W - wt[n - 1],
                           wt, val, n - 1),
            knapSack(W, wt, val, n - 1));
}
 
// Driver code
int main()
{
    int val[] = { 60, 100, 120 };
    int wt[] = { 10, 20, 30 };
    int W = 50;
    int n = sizeof(val) / sizeof(val[0]);
    cout << knapSack(W, wt, val, n);
    return 0;
}
 
// This code is contributed by rathbhupendra
Comment

PREVIOUS NEXT
Code Example
Cpp :: Summation of Natural Number Sequence with c and c++. 
Cpp :: how to seek to the start of afile in c++ 
Cpp :: c++ restrict template types 
Cpp :: C++ for vs while loops 
Cpp :: what does map.count() return in c++ 
Cpp :: how to find common divisors of two numbers in cpp 
Cpp :: C++ Display a text 5 times 
Cpp :: cout alternative c++ 
Cpp :: reverse a stack in c++ using another stack 
Cpp :: +905344253752 
Cpp :: logisch nicht 
Cpp :: ue4 c++ enum variable declaration 
Cpp :: how to open program in c++ 
Cpp :: powershell script query mssql windows authentication 
Cpp :: foo foo little dogs 
Cpp :: get shape of eigen matrix 
Cpp :: how to compile with libstdc++ fedora 
Cpp :: sfml hide message 
Cpp :: c++ start process and get output 
Cpp :: what is stdoutread in c++ 
Cpp :: can map return a value to a variable in c++ 
Cpp :: 136. Single Number leetcode solution in c++ 
Cpp :: sinh to hop c++ 
Cpp :: c+ - Dormir en millisecondes 
Cpp :: Stream Overloading 
Cpp :: c++ linker input and output 
Cpp :: what is imposter syndrome 
Cpp :: graph colouring backtracking 
Cpp :: calculate number of edges of graph in data structure c++ 
Cpp :: c++ programming 
ADD CONTENT
Topic
Content
Source link
Name
5+3 =