输入值
非负整数n
,以及s
仅包含字母数字字符和下划线的非空字符串_
。的第一个字符s
不是_
。下划线s
被解释为可以用其他字符填充的空格。
我们定义“无限字符串”的无限序列如下。字符串被无限次重复多次。对于所有的,字符串从得到通过用的字符填充它的空格,使得第一的被替换,所述第二带,等等。由于第一个字母不是,每个空格最终都会被填充,因此我们用无限字符串表示,其中每个字符串都已被其最终值替换。s1 = s s s...
s
k > 1
sk+1
sk
s1
_
sk
s1[0]
s1[1]
s
_
s∞
_
输出量
作为字符串的前n
几个字符。s∞
例
考虑输入n = 30
和s = ab_c_
。我们有
s1 = ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_...
替代的空白,我们有s1
s1
s2 = abacbab_ccab_caabbc_abcc_abacbab_cc...
我们再次用空格代替,结果是s1
s3 = abacbabaccabbcaabbc_abcccabacbab_cc...
另一种替代:
s4 = abacbabaccabbcaabbcaabcccabacbabbcc...
据此,我们已经可以推断出的前30个字符,分别是s∞
abacbabaccabbcaabbcaabcccabacb
这是正确的输出。
规则
您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。输入错误会导致崩溃。
测试用例
0 "ab__" -> ""
1 "ab__" -> "a"
3 "ab__" -> "aba"
20 "ab" -> "abababababababababab"
20 "ab__" -> "abababababababababab"
20 "ab_" -> "abaabbabaabaabbabbab"
30 "ab_c_" -> "abacbabaccabbcaabbcaabcccabacb"
50 "ab_a_cc" -> "abaabccabaaaccabbacccabcaaccabbaaccabaaaccabcaccca"
50 "abc____" -> "abcabcaabcbcaaabcbcbcabcaaababccbcbabccabcabcaaaba"