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