Advertisement
J00ker

Untitled

Oct 7th, 2015
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int st[100], a[100], i, n, s, sumf;
  6.  
  7. void backtrack(int k)
  8. {
  9.     if(s == n)
  10.     {
  11.         for(i = 1; i < k; i++)
  12.             cout << i << " de " << a[st[i]] << " ";
  13.         cout << "\n";
  14.     }
  15.     else
  16.     {
  17.         st[k] = 0;
  18.         while(((a[st[k]] * k) + s < sumf) && (k < n))
  19.         {
  20.             st[k]++;
  21.             s += a[st[k]] * st[k];
  22.             backtrack(k+1);
  23.             s -= a[st[k]] * st[k];
  24.         }
  25.     }
  26. }
  27.  
  28. int main()
  29. {
  30.     cin >> n >> sumf;
  31.     for(i = 0; i < n; i++);
  32.         cin >> a[i];
  33.     backtrack(1);
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement