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