比赛 |
板子大赛 |
评测结果 |
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;
- }