练习题 奶牛跳舞

这是一篇关于编程题目的博客,作者最初尝试通过数组记录奶牛跳舞的路径,但导致超时。经过思考和同学的启发,找到了优化算法,实现了在跳舞过程中动态计算舞台最大尺寸的方法,最终成功解决AC(Accepted)问题。奶牛在题目中的移动步幅较大,增加了问题的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

奶牛Bessie在一个矩形网格的舞台上跳舞。每一格是一个1 x 1的单元方格。Bessie的四只脚缩写如下:
FR: 右前脚
FL: 左前脚
RR: 右后脚
RL: 左后脚


下面的初始状态表示Bessie头朝北方站在相邻的4个方格里,形成一个正方形:
FL FR
RL RR


Bessie跳舞一共有N(1 <= N <= 1000)个指令,每条指令要求Bessie的一只脚移动一格,或者是以一只脚为支点,顺时针旋转90度。


移动指令是3字符的,前2个字符描述哪一只脚,第3个字符描述移动方向:(F = 前进, B = 后退, R = 右, L = 左)
例如,"FRF"表示右前脚向前移一格。"RLR"表示左后脚向右移一格。注意,移动的方向与Bessie的头朝向有关。
旋转指令也是3字符的,前2个字符描述哪一只脚,第3个字符固定为'P'。
例如,"FRP"表示以右前脚为支点,顺时针旋转90度。如果她旋转前站成这样(头朝北):
.. .. .. 
.. .. FR 
.. FL .. 
.. RL RR 


旋转后将站成这样(头朝东):
RL FL .. 
RR .. FR 
.. .. ..  
.. .. ..


给出N条指令,求一个最小的矩形区域作为舞台&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值