fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool print(vector<int>&in,vector<int>&out,int l,int local,int k)
  5. {
  6. if(local==k)
  7. {
  8. for(auto x:out)
  9. cout<<x<<" ";
  10. cout<<endl;
  11. return false;
  12. }
  13. for(int i=l;i<in.size();i++)
  14. {
  15. if (local + in[i] > k)
  16. continue;
  17.  
  18. out.push_back(in[i]);
  19. bool aage=print(in,out,i+1,local+in[i],k);
  20. if(aage)
  21. {
  22. return true;
  23. }
  24. out.pop_back();
  25. }
  26. return false;
  27. }
  28. int main()
  29. {
  30. vector<int>v={10, 1, 2, 7, 6, 1, 5};
  31. sort(v.begin(),v.end());
  32. vector<int> out;
  33. print(v,out,0,0,8);
  34. return 0;
  35. }
Success #stdin #stdout 0s 4288KB
stdin
Standard input is empty
stdout
1 1 6 
1 2 5 
1 7 
1 2 5 
1 7 
2 6