求助,调疯了
查看原帖
求助,调疯了
421781
liuzimingc楼主2021/1/24 12:00

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
2021/1/24 12:00
加载中...