#include<bits/stdc++.h>
using namespace std;
#define int long long
#define itn int
typedef unsigned long long sln;
const int mod=10000;
signed main(){
char a; int k=0,tt=0,ttmulti=1;
while(cin>>a){
if(a>='0'&&a<='9'){
k*=10;
k+=a-'0';
k%=mod;
}
else{
if(a=='+'){
if(ttmulti==1){
tt+=k;
tt%=mod;
k=0;
}
else{
tt+=ttmulti;
tt%=mod;
ttmulti=1;
}
}
else{
k%=mod;
ttmulti*=k;
ttmulti%=mod;
k=0;
}
}
} //a='1' k+=1 k=1 k%=10000 k=1 a='+' a=='+' ttmulti=1 tt+=k tt+=1 tt=1
if(ttmulti==1){
tt+=k;
tt%=mod;
}
else{
tt+=ttmulti;
tt%=mod;
}
cout<<tt;
cout<<endl;
return 0;
}
本地测试没问题,一交就第一个点对,其余全错。