比赛 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;
}