比赛 |
板子大赛 |
评测结果 |
AAAAAAAAAA |
题目名称 |
表达式求值 |
最终得分 |
100 |
用户昵称 |
IMZ |
运行时间 |
0.061 s |
代码语言 |
C++ |
内存使用 |
3.82 MiB |
提交时间 |
2025-01-22 14:07:39 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
char s[3000010];
int main(){
freopen("expr2013.in","r",stdin);
freopen("expr2013.out","w",stdout);
scanf("%s",s+1);
int len=strlen(s+1);
long long a=0,sum=0;
for(int i=1;i<=len;i++){
if(s[i]=='*'){
int j=i+1;
long long b=0;
while(s[j]>='0'&&s[j]<='9'){
b=b*10+(s[j]-'0');
s[j]='-';
j++;
}
b=b%1000000;//看看
// printf("b=%lld\n",b);
int k=0;j=i-1;
long long cnt=0;
while(s[j]>='0'&&s[j]<='9'){
cnt=cnt+pow(10,k)*(s[j]-'0');
s[j]='-';
k++;j--;
}
if(cnt==0){
cnt=a;
}
// printf("%lld\n",cnt);
cnt=cnt%1000000;
a=(cnt*b)%1000000;
}
if(s[i]=='-'&&(i==len||s[i+1]=='+')){
sum=(sum+a)%1000000;
}
}
long long cnt=0;
for(int i=1;i<=len;i++){
while(s[i]>='0'&&s[i]<='9'){
cnt=cnt*10+(s[i]-'0');
s[i]='/';
i++;
}
sum=(sum+cnt)%1000000;
cnt=0;
}
sum=sum%10000;
printf("%lld",sum);
return 0;
}