样例也过了
#include <bits/stdc++.h>
using namespace std;
stack <int> stk;
string s;
long long int last,x,p,sum;
bool cheng;
int main()
{
cin>>s;
for (int i = 0;i < s.length();i++)
{
if (!('0' <= s[i] && s[i] <= '9'))
{
x = 0;
while (last != i)
{
x *= 10;
x += s[last] - '0';
last++;
}
last++;
if (cheng)
{
p = stk.top() * x % 10000;
stk.pop();
stk.push(p);
cheng = 0;
//cout<<"stkpushp"<<p<<'\n';
continue;
}
if (s[i] == '*')
{
cheng = 1;
}
stk.push(x);
//cout<<"stkpushx"<<x<<'\n';
}
}
x = 0;
while (last != s.length())
{
x *= 10;
x += s[last] - '0';
last++;
}
if (cheng)
{
p = stk.top() * x % 10000;
stk.pop();
stk.push(p);
//cout<<"stkpushp"<<p<<'\n';
}
else
{
stk.push(x);
//cout<<"stkpushx"<<x<<'\n';
}
while (stk.size())
{
sum += stk.top();
stk.pop();
sum %= 10000;
}
cout<<sum;
return 0;
}