rt,一遇到复杂一点的就输出0,最后实在忍不住看题解,发现题解是连用 if,我是用 else if,然后又改……改了还是不行,我就不知道为啥会这样?
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<map>
using namespace std;
#define maxn 100005
#define ll long long
int handle(){
char ch,x;string a;int n,ans=0;
while (cin>>ch){
if (ch==']') break;
cin>>a>>n;
if (ch=='R'){
x=getchar();
ans+=n*handle();
x=getchar();
}
if (ch=='F'){
x=getchar();
ans+=n;
}
if (ch=='B'){
x=getchar();
ans-=n;
}
if (x==']') break;
}
return ans;
}
int main(){
ios::sync_with_stdio(0);
cout<<abs(handle());
return 0;
}
hack:
输入:REPEAT 5[FD 50 REPEAT 10[FD 100]]
输出:0