全部RE
查看原帖
全部RE
309771
Dr_Chara_Joestar楼主2020/8/24 16:33

如题,所有点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;
}
2020/8/24 16:33
加载中...