Eingang
Eine nicht negative Ganzzahl nund eine nicht leere Zeichenfolge, sdie nur alphanumerische Zeichen und Unterstriche enthält _. Das erste Zeichen von sist nicht _. Die Unterstriche von swerden als Leerzeichen interpretiert, die mit anderen Zeichen gefüllt werden können.
Wir definieren eine unendliche Folge von "unendlichen Strings" wie folgt. Die Saite wird nur unendlich oft wiederholt. Für alle wird die Zeichenfolge erhalten, indem die Leerzeichen mit den Zeichen von gefüllt werden , sodass das erste von durch , das zweite von durch usw. ersetzt wird. Da der erste Buchstabe von nicht ist , wird schließlich jedes Leerzeichen gefüllt, und wir bezeichnen durch die unendliche Zeichenfolge, in der jedes durch seinen endgültigen Wert ersetzt wurde.s1 = s s s...sk > 1sk+1sks1_sks1[0]s1[1]s_s∞_
Ausgabe
Die ersten nZeichen als Zeichenfolge.s∞
Beispiel
Betrachten Sie die Eingänge n = 30und s = ab_c_. Wir haben
s1 = ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_...
Wir ersetzen die Lücken vons1s1
s2 = abacbab_ccab_caabbc_abcc_abacbab_cc...
Wir ersetzen wieder die Leerzeichen, was zur Folge hats1
s3 = abacbabaccabbcaabbc_abcccabacbab_cc...
Eine weitere Substitution:
s4 = abacbabaccabbcaabbcaabcccabacbabbcc...
Daraus können wir bereits die ersten 30 Zeichen ableiten , von denen sinds∞
abacbabaccabbcaabbcaabcccabacb
Dies ist die richtige Ausgabe.
Regeln
Sie können ein vollständiges Programm oder eine Funktion schreiben. Die niedrigste Byteanzahl gewinnt, und Standardlücken sind nicht zulässig. Absturz bei falscher Eingabe ist akzeptabel.
Testfälle
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"