3 条题解

  • 0
    @ 2025-3-19 16:59:41
    #include <bits/stdc++.h>
    using namespace std;
    using ll = long long;
    
    int main() {
    	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
        string s;
        cin >> s;
        vector<ll> nums;
        vector<char> ops;
    
        int i = 0;
        int n = s.size();
        while (i < n) {
            if (isdigit(s[i])) {
                ll num = 0;
                while (i < n && isdigit(s[i])) {
                    num = num * 10 + (s[i] - '0');
                    i++;
                }
                nums.push_back(num % 10000);
            } else {
                ops.push_back(s[i]);
                i++;
            }
        }
    
        if (nums.empty()) {
            cout << 0 << endl;
            return 0;
        }
    
        ll sum = 0;
        ll temp = nums[0];
        for (size_t j = 0; j < ops.size(); ++j) {
            char op = ops[j];
            ll num = nums[j + 1];
            if (op == '+') {
                sum = (sum + temp) % 10000;
                temp = num;
            } else if (op == '*') {
                temp = (temp * num) % 10000;
            }
        }
        sum = (sum + temp) % 10000;
    
        cout << sum << '\n';
    
        return 0;
    }
    

    信息

    ID
    107
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    162
    已通过
    60
    上传者