fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. void helper(vector<bool>&vis,vector<int>&coins,string asf,int j,int tar){
  4. if(tar == 0){
  5. cout<<asf<<endl;
  6. return;
  7. }
  8.  
  9. if(tar < 0)return;
  10.  
  11. for(int i = j;i<coins.size();i++){
  12. // if(vis[i]==false){
  13. // vis[i]=true;
  14. helper(vis,coins,asf+to_string(coins[i])+",",i,tar-coins[i]);
  15. // vis[i]=false;
  16. // }
  17. }
  18. }
  19. int main() {
  20. int n,tar;
  21. cin>>n>>tar;
  22. vector<int>coins(n);
  23. for(int i = 0 ;i<n ;i++){
  24. cin>>coins[i];
  25. }
  26. vector<bool>vis(n);
  27.  
  28. helper(vis,coins,"",0,tar);
  29. return 0;
  30. }
Success #stdin #stdout 0.01s 5264KB
stdin
5 10
2 4 6 5 3
stdout
2,2,2,2,2,
2,2,2,4,
2,2,6,
2,2,3,3,
2,4,4,
2,5,3,
4,6,
4,3,3,
5,5,