如题,所有点RE了,查不出来
#include<bits/stdc++.h>
#define bp 10007
using namespace std;
stack<int>dp0;
stack<int>dp1;
stack<char>c;
char f[100010];
int l,i;
int d0,d1,a,b;
void fait(){
int t0,t1;
d0=dp0.top();
dp0.pop();
d1=dp1.top();
dp1.pop();
if(f[i]=='+'){
t0=(d0*dp0.top())%bp;
t1=(d0*dp1.top())%bp+(d1*dp0.top())%bp+(d1*dp1.top())%bp;
dp0.pop();
dp0.push(t0);
dp1.pop();
dp1.push(t1);
}
else
{
t0=(d0*dp1.top())%bp+(d1*dp0.top())%bp+(dp0.top()*d0)%bp;
t1=(d1*dp1.top())%bp;
dp0.pop();
dp0.push(t0);
dp1.pop();
dp1.push(t1);
}
}
int main()
{
cin>>l;
cin>>f;
for(i=0;i<l;i++){
if(f[i]=='('||f[i]=='*'){
c.push(f[i]);
}if(f[i]=='+'){
while(c.top()=='*'){
fait();
}
}if(f[i]==')'){
while(c.top()!='('){
fait();
}
}
}
printf("%d",dp0.top());
return 0;
}