Wejście
Nieujemna liczba całkowita ni niepusty ciąg szawierający tylko znaki alfanumeryczne i podkreślenia _. Pierwsza postaćs nie jest _. Podkreślenia ssą interpretowane jako puste miejsca, które można wypełnić innymi znakami.
Definiujemy nieskończoną sekwencję „nieskończonych ciągów” w następujący sposób. Ciąg jest powtarzany nieskończenie wiele razy. Dla wszystkich ciąg jest uzyskiwany z wypełnienia pustych miejsc znakami , dzięki czemu pierwszy z nich jest zastąpiony przez , drugi z itd. Ponieważ pierwsza litera nie jest , każda pusta spacja zostaje ostatecznie wypełniona, a my oznaczamy nieskończonym ciągiem znaków, w którym każdy został zastąpiony jego ostateczną wartością.s1 = s s s...sk > 1sk+1sks1_sks1[0]s1[1]s_s∞_
Wynik
Pierwsze nznaki jako ciąg.s∞
Przykład
Rozważ dane wejściowe n = 30i s = ab_c_. Mamy
s1 = ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_...
Zastępując puste , mamys1s1
s2 = abacbab_ccab_caabbc_abcc_abacbab_cc...
Ponownie podstawiamy puste pola, co powodujes1
s3 = abacbabaccabbcaabbc_abcccabacbab_cc...
Jeszcze jedna zmiana:
s4 = abacbabaccabbcaabbcaabcccabacbabbcc...
Z tego możemy już wywnioskować pierwsze 30 znaków , które sąs∞
abacbabaccabbcaabbcaabcccabacb
To jest poprawny wynik.
Zasady
Możesz napisać pełny program lub funkcję. Wygrywa najniższa liczba bajtów, a standardowe luki są niedozwolone. Awarie przy nieprawidłowym wprowadzaniu danych są dopuszczalne.
Przypadki testowe
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"