小码哥与机器人

难度:黄金©

时间限制: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;
}
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐