比赛 |
test2 |
评测结果 |
WWWWWWWWTT |
题目名称 |
表达式求值 |
最终得分 |
0 |
用户昵称 |
皓芷 |
运行时间 |
2.015 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2017-03-12 20:10:06 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<sstream>
#include<string>
#include<cstring>
using namespace std;
const int maxn=2147483647;
string a;
long long ans;
int main()
{
freopen("expr2013.in","r",stdin);
freopen("expr2013.out","w",stdout);
getline(cin,a);
ans=0;
int n,jc=-1;
do
{
if(jc==1)ans=ans*(n%10000)%10000;
if(jc==0)ans=ans+(n%10000)%10000;
if(jc==-1)ans=n%10000;
int j=maxn,ch=maxn;
string::size_type posj=a.find('+',0);
string::size_type posc=a.find('*',0);
if(posj!=string::npos)j=a.find('+',0);
if(posc!=string::npos)ch=a.find('*',0);
stringstream ss(a);
if((posj==string::npos)&&(posc==string::npos)){stringstream ss(a.substr(0,a.size()));a.erase(0,a.size());
}
if(j>ch){stringstream ss(a.substr(0,ch+1));jc=1;a.erase(0,ch+1);
}
else {stringstream ss(a.substr(0,j+1));jc=0;a.erase(0,j+1);
}
ss>>n;
}while(!a.empty());
if(jc==1)ans=ans*(n%10000)%10000;
if(jc==0)ans=ans+(n%10000)%10000;
printf("%lld",ans);
return 0;
}