为啥这样会WA
#include<bits/stdc++.h>
using namespace std;
#define int long long
int doit()
{
int x=0,k=0;
char ch,cha;
string s;
while(cin>>ch)
{
cin>>s>>k;
// cout<<s<<" "<<k<<endl;
if(ch==']')
{
break;
}
if(ch=='F')
{
cha=getchar();
x+=k;
}
else if(ch=='B')
{
cha=getchar();
x-=k;
}
else if(ch='R')
{
cha=getchar();
x+=k*doit();
cha=getchar();
}
if(cha==']')
{
break;
}
}
return x;
}
signed main()
{
cout<<abs(doit());
}
但这样可以AC
#include<bits/stdc++.h>
using namespace std;
#define int long long
int doit()
{
int x=0,k=0;
char ch,cha;
string s;
while(cin>>ch)
{
// cout<<s<<" "<<k<<endl;
if(ch==']')
{
break;
}
cin>>s>>k;
if(ch=='F')
{
cha=getchar();
x+=k;
}
else if(ch=='B')
{
cha=getchar();
x-=k;
}
else if(ch='R')
{
cha=getchar();
x+=k*doit();
cha=getchar();
}
if(cha==']')
{
break;
}
}
return x;
}
signed main()
{
cout<<abs(doit());
}
仅调整了cin>>s>>k;的位置