为啥RE
查看原帖
为啥RE
214853
Mecci_miaowu楼主2023/10/30 20:35
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

ll read(){
    ll ans = 0;
    int f = 1;
    char ch = getchar();
    while(ch < '0' || ch > '9'){
        if(ch == '-')f = -1;
        ch = getchar();
    }
    while(ch >= '0' && ch <= '9'){
        ans = ans * 10 + ch - '0';
        ch = getchar();
    }
    return ans * f;
}

const int mod = 10000;
int num[100000 + 5], cnt1;
char f[100000 + 5], cnt2;
int main(){
    int x = 0;
    int ans = 0;
    char ch = getchar();
    while((ch >= '0' && ch <= '9') || ch == '+' || ch == '*'){
        if(ch == '+' || ch == '*'){
            num[cnt1++] = x;
            x = 0;
            f[cnt2++] = ch;
        }
        else x = (x * 10 + ch - '0') % mod;
        ch = getchar();
    }
    num[cnt1++] = x;
    // for(int i = 0 ; i < cnt1 ; ++i)cout << num[i] << endl;
    // for(int i = 0 ; i < cnt2 ; ++i)cout << f[i] << endl;
    for(int i = 0 ; i < cnt2 ; ++i){
        if(f[i] == '*'){
            num[i + 1] = (num[i] * num[i + 1]) % mod;
            num[i] = 0;
        }
    }
    // for(int i = 0 ; i < cnt1 ; ++i)cout <<  num[i] << ' ';
    for(int i = 0 ; i < cnt1 ; ++i)ans = (ans + num[i]) % mod;
    cout << ans << endl;
    return 0;
}
2023/10/30 20:35
加载中...