JZOJ 3446. 三角阵

##Problem
###Description
把3个相同的小三角形按如下方式连接起来就形成了一个一级三角阵。
这里写图片描述
我们把位于顶端的小三角形标记为T,位于左端的小三角形标记为L,位于右端的小三角形标记为R。
把3个一级三角阵按同样的方式连接起来就形成了一个二级三角阵。
这里写图片描述
我们为顶端的三角阵的标记添加前缀T,为左端的三角阵的标记添加前缀L,为右端的三角阵的标记添加前缀R。
把3个二级三角阵按同样的方式连接起来就形成了一个三级三角阵。
这里写图片描述
同样地为顶端的三角阵的标记添加前缀T,为左端的三角阵的标记添加前缀L,为右端的三角阵的标记添加前缀R。
依次类推,可以构建一个N级三角阵。
如果两个小三角形有公共点,则认为这两个小三角形相邻,可以一步到达。
你的任务是求从一个小三角形走到另一个小三角形至少需要多少步。
###Input
第一行是三角阵的等级N(N≤30)。
第二行和第三行都是一个长度为N的字符串,由大写字母“L”、“R”、“T”组成,表示两个小三角形的标号。
###Output
输出一个数,表示从一个小三角形走到另一个小三角形所需的最少步数。
###Sample Input
3
TRL
RLR
###Sample Output
5
###Hint
从“TRL”出发,途经“TRR”、“RTT”、“RTL”、“RLT”,最后到达“RLR”,一共需要5步。
###Data Constraint
40% n<=5
100% n<=30
##Solution
其实这道题看上去很难,实际上很简单。
我们可以将两串相同前缀删掉,此时一定保证两个点在不同的三角形内。
这里写图片描述
此时有两条路径,一是直接从两个大三角形的交点过去,另一种是从另外一个三角形那里绕过去。
分别求出两点到三角形定点的距离,第一条路径的距离是两个点到三角形交点的距离+1,设为s1。第二条路径则是两个点到另外一个三角形交点的距离加上它的底边+1,设为s2.
最后答案就是s1,s2的最小值。
——2016.7.8

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值