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