Advertisement
maycod23

subset_sum

Jun 16th, 2022
956
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool recursivecheck(int curr, int end, vector<int>& v, int target, int &tempsum)
  5. {
  6.  
  7.     //base case
  8.     if (tempsum == target) return true;
  9.     if (curr == end) return false;
  10.  
  11.     //let's include this
  12.     tempsum += v[curr];
  13.     if (recursivecheck(curr + 1, end, v, target, tempsum) == true) return true;
  14.  
  15.     //let's exclude this
  16.     tempsum -= v[curr];
  17.     if (recursivecheck(curr + 1, end, v, target, tempsum) == true) return true;
  18.  
  19.     return false;
  20. }
  21. int main()
  22. {
  23.     int n, target; cin >> n >> target;
  24.     vector<int> v(n);
  25.     for (int i = 0; i < n; i++) cin >> v[i];
  26.  
  27.     int tempsum = 0;
  28.     if (recursivecheck(0, n, v, target, tempsum))
  29.     {
  30.         cout << "Found the subset" << endl;
  31.     }
  32.     else cout << "Not Found The subset" << endl;
  33.  
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement