!低仿机器人
题目描述
自从Dji推出robomaster S1机器人过后,小文就一直缠着爸爸想要一个机器人。妹想到爸爸最后竟然带了个低仿S1--R1机器人回来。小文哭笑不得,不过低仿就低仿,不玩白不玩,他决定试试这个小机器人的能耐。
小文给这个小机器人布置了nm的场地(场地外用障碍围住),在场地上设置了障碍、水池和靶子。其中,障碍是不可以通过并且无法用水晶弹打掉的,靶子无法通过、但是可以被水晶弹打掉,水池也无法通过、但是水晶弹可以通过水池。
小文检查了一下小机器人,发现它的指令系统很简单。该系统中一共有6种指令,指令的使用说明如下:
“FT x” :该指令表示炮台的90°转动,其中x∈[0,1],x∈Z,并且0、1分别表示逆时针和顺时针。
“FF i” :该指令表示填弹,填弹后弹仓剩余弹量减一,弹夹剩余弹量加一,其中i∈[0,1]且i∈Z,i为1表示所填水晶弹为大弹丸,为0表示所填水晶弹为小弹丸。
“FE” :该指令表示发射水晶弹,水晶弹的发射方向同炮台的朝向,发射的水晶弹为最后一个填入弹夹的水晶弹,指令执行后弹夹容量减一。
“WT x” :该指令表示机器人的90°转动, 其中x∈[0,1],x∈Z, 并且0、1分别表示逆时针和顺时针。
“WG y” :该指令表示机器人前进,其中y∈[0,max(m,n)],y∈Z。
“END” :该指令将返回“Complete”并停机,不同于编译器先编译后运行,END(及其他将造成停机的情况)后的指令均被无视。
现在小文将要开始测试,但是为了避免自己的指令集让小机器人出现错误,小文给了你场地、小机器人的初始状态和指令集并拜托你帮他计算出小机器人的返回内容、停下的位置、打掉的靶子数量以及小机器人的状态。
注意:
(一)弹夹无弹的情况下将跳过FE指令,弹仓无相应弹丸的情况下将跳过FF指令;
(二)大水晶弹一发打掉靶子,小水晶弹需两发打掉靶子,靶子打掉后变成空地可通过;
(三)小机器人将在以下情况下返回“ERROR”并停机:
(1)在弹夹已满的情况下继续填弹; (2)撞上障碍(包括未被打掉的靶子)或者撞进水池;(3)指令后的参数不满足要求(例:“FE 10”);(4)无“END”指令;
Source
Vijos Original
信息
- ID
- 1001
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者