Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
118559 | 陈志轩 | 表达式求值 | C++ | 通过 | 100 | 12 MS | 4584 KB | 812 | 2023-12-30 21:42:58 |
#include<bits/stdc++.h> #define int long long using namespace std; vector <int> num,f; long long m,cnt; bool flag; signed main(){ //freopen("TESTDATA.in","r",stdin); string str; cin>>str; for (int i = 0;i < str.size();i++){ if (str[i] >= '0' && str[i] <= '9'){ m = (m << 1) + (m << 3) + (str[i] ^ 48); flag = true; } else{ num.push_back(m); flag = m = 0; f.push_back(str[i] == '+'?1:2); } } if (flag){ num.push_back(m); } for (int i = 0;i < f.size();i++){ if (f[i] == 2){ num[i + 1] = (num[i] * num[i + 1]) % 10000; num[i] = 0; } } for (int i = 0;i < num.size();i++){ //cout<<num[i]<<' '; cnt = (cnt + num[i]) % 10000; } cout<<cnt; return 0; }