Advertisement
DimaT1

612mccme

Aug 19th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. bool flag = false;
  7.  
  8. bool count(vector<int> a, vector<int> b, int n, int m) {
  9.     int sum = 0;
  10.     for(int i = 0; i < n; i++)
  11.         sum += a[i] * b[i];
  12.     return sum == m;
  13. }
  14.  
  15. void work(vector<int> a, vector<int> b, int n, int m) {
  16.     if(count(a, b, n, m)) {
  17.         cout << a[0 ];
  18.         for(int i = 1; i < n; i++){
  19.             if(b[i] == 1) cout << "+"; else cout << "-";
  20.             cout << a[i];
  21.         }
  22.         cout << "=" << m << endl;
  23.         flag = true;
  24.     }
  25.     else if(!flag) {
  26.         for(int i = 1; i < n; i++)
  27.             if(b[i] == 1) {
  28.                 b[i] = -1;
  29.                 work(a, b, n, m);
  30.                 b[i] = 1;
  31.             }
  32.     }
  33. }
  34.  
  35. int main()
  36. {
  37.     int m, n;
  38.     cin >> n >> m;
  39.     vector<int> a(n), b(n, 1);
  40.  
  41.     for(int i = 0; i < n; i++)
  42.         cin >> a[i];
  43.  
  44.     work(a, b, n, m);
  45.     if(!flag)
  46.         cout << "No solution" << endl;
  47.  
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement