fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. bool f(vector<int>&v,vector<int>&ds,int idx, int sum, int k){
  4. if(idx>=(int)v.size() || sum==k){
  5. if(sum==k) return true;
  6. return false;
  7. }
  8. sum=sum+v[idx];
  9. ds.push_back(v[idx]);
  10. bool ans = f(v,ds,idx+1,sum,k);
  11. if(ans==true)
  12. return ans;
  13. sum=sum-v[idx];
  14. ds.pop_back();
  15. ans = f(v,ds,idx+1,sum,k);
  16. return ans;
  17. }
  18. int main() {
  19. vector<int> v = {3, 1, 2};
  20. vector<int> ds;
  21. // vector<vector<int>> ans;
  22. int sum=0;
  23. cout<<f(v,ds,0,sum,3)<<endl;
  24.  
  25. // for (const auto& seq : ans) {
  26. // for (int num : seq)
  27. // cout << num << " ";
  28. // cout << endl;
  29. // }
  30. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
1