输入值
非负整数n,以及s仅包含字母数字字符和下划线的非空字符串_。的第一个字符s不是_。下划线s被解释为可以用其他字符填充的空格。
我们定义“无限字符串”的无限序列如下。字符串被无限次重复多次。对于所有的,字符串从得到通过用的字符填充它的空格,使得第一的被替换,所述第二带,等等。由于第一个字母不是,每个空格最终都会被填充,因此我们用无限字符串表示,其中每个字符串都已被其最终值替换。s1 = s s s...sk > 1sk+1sks1_sks1[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_...
替代的空白,我们有s1s1
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"