考虑由标有级联的正整数的数字的图块形成的长度为B的桥。例如,如果B为41,则它将如下所示:
----------------------------------------- 12345678910111213141516171819202122232425
现在想象一列长度为T的火车过桥。火车的最左端开始于位置X(1索引)。为了更好地理解问题,让我们为事件制定一个方案,其中B = 41,T = 10,X = 10。使用等号(=
)和线绘制火车:
__________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425
火车在每一步中都可以通过其所在的唯一图块的总和来前进。例如,火车在上面站立的磁贴为:[1, 0, 1, 1, 1, 2, 1, 3, 1, 4]
,唯一(重复数据消除)磁贴为:[1, 0, 2, 3, 4]
,其总和为10
。因此,火车可以前进10
。我们应该再次绘制它并重复该过程,直到火车的最左边的点通过最后一个图块:
__________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425 唯一区块的总和:1 + 5 + 6 + 7 + 8 + 9 =36。火车前进了36区块... __________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425 火车显然完全过了桥,所以我们现在应该停下来。
由于里面的人很无聊,他们每次都计算火车前进的瓷砖。在这种情况下,10
和36
。总结一下一切,火车46
在通过桥之前就已经移动了。
任务
给定三个正整数,B(桥长),T(火车长)和X(起始位置,1索引),您的任务是确定火车在遵循规则穿越桥之前已移动了多少块瓷砖以上。
- 您可以假设:
- 乙高于Ť。
- X是低于乙。
- T至少为2。
- 火车最终过桥了。
- 我们所有的标准规则均适用。
- 这是 代码高尔夫球,因此以字节为单位的最短代码胜出!
测试用例
输入([B,T,X])->输出 [41,10,10]-> 46 [40,10,10]-> 46 [30,4,16]-> 24 [50,6,11]-> 50
最后一个测试用例的另一个可行示例:
桥的长度为50,火车的长度为6,起始位置为11。 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 唯一图块:[0、1、2]。总数:3。 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 唯一图块:[1、2、3、4]。总计:10。 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 唯一图块:[1、7、8、9]。总计:25。 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 唯一图块:[9,3]。总计:12。 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 火车存在桥梁。总和:3 + 10 + 25 + 12 = 50。
@Lynn有点晚了,是的,可以。
—
Xcoder先生17年
(200, 2, 169)
,火车卡在00
在…9899100101102…
。