Advertisement
Mirbek

Untitled

Jun 4th, 2022
896
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. long long func(string s) {
  6.     vector <long long> num;
  7.     vector <char> sign;
  8.     long long cur = 0;
  9.     for (int i = 0; i < s.size(); i++) {
  10.         if (!isdigit(s[i])){
  11.             sign.push_back(s[i]);
  12.             num.push_back(cur);
  13.             cur = 0;
  14.         } else {
  15.             cur *= 10;
  16.             cur += s[i] - '0';
  17.         }
  18.     }
  19.     num.push_back(cur);
  20.  
  21.     stack <long long> stk;
  22.     for (int i = 0; i < num.size(); i++) {
  23.         if (i > 0) {
  24.             if (sign[i - 1] == '*') {
  25.                 stk.top() *= num[i];
  26.                 continue;
  27.             }
  28.             if (sign[i - 1] == '/') {
  29.                 stk.top() /= num[i];
  30.                 continue;
  31.             }
  32.             if (sign[i - 1] == '-') {
  33.                 num[i] *= -1;
  34.             }
  35.         }
  36.         stk.push(num[i]);
  37.     }
  38.  
  39.     long long sum = 0;
  40.     while (!stk.empty()) {
  41.         sum += stk.top();
  42.         stk.pop();
  43.     }
  44.  
  45.     return sum;
  46. }
  47.  
  48. int main() {
  49.     string s, a, b;
  50.  
  51.     cin >> s;
  52.  
  53.     for (int i = 0; i < s.size(); i++) {
  54.         if (s[i] == '=') {
  55.             a = s.substr(0, i);
  56.             b = s.substr(i + 1, s.size());
  57.             break;
  58.         }
  59.     }
  60.  
  61.     if (func(a) == func(b)) {
  62.         cout << "YES";
  63.     } else {
  64.         cout << "NO";
  65.     }
  66. }
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement