小码哥与机器人
难度:黄金©
时间限制:1秒巴占用内存:128M
小码哥新买了一个机器人,但是这个机器人因为很便宜只能做三个动作.
三个动作:前进FD,倒退BK和重复REPEAT。
FD后加数字表示前进多少步;
BK后加数字表示后退多少步;
REPEAT后加数字再加方括号,表示重复方括号里的命令。
三个动作加的数字均为正整数。
命令的格式:
1.FD与BK命令组合;
//
// Created by abner on 2023/3/19.
//
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
ll solve(){
string s;
char c,k;
ll n,ans =0;
while (cin >>c){
if(c==']')
break;
cin >>s >>n;
if (c== 'R'){
cin >>k;
ans += n * solve();
}
if (c=='B')
ans -= n;
if (c == 'F')
ans += n;
}
return ans;
}
int main(){
cout << abs(solve());
return 0;
}