Дано рядок s, що складається з малих літер, таких як
aabaaababbbbaaba
і позитивне ціле число п , такі , як 4
, виводити довжина- п рядок т таким чином, що , коли т повторюється до довжини з , вони мають як багато символів в часто , як це можливо. Для даного прикладу оптимальним буде результат aaba
, оскільки він має тринадцять символів спільного з цільовим рядком:
s: aabaaababbbbaaba
t: aabaaabaaabaaaba (aaba)
^^^^^^^^ ^ ^^^^
і жоден можливий t не має більше. Однак для aaaaaab
цього є два можливих виходи: aaaa
і aaba
, кожен з яких має 6 символів спільного з цільовим рядком:
s: aaaaaab
t: aaaaaaaa (aaaa)
^^^^^^
s: aaaaaab
t: aabaaaba (aaba)
^^ ^^^^
Або aaaa
чи aaba
можуть бути виведені, або обидва , якщо ви хочете. Зауважте, що s ніколи не повторюється; трелінг a
в обох повторених значеннях t просто ігнорується.
Тестові справи
Inputs -> Valid outputs
1 a -> a
1 aa -> a
2 aa -> aa
1 ab -> a b
2 ab -> ab
1 abb -> b
2 abb -> ab bb
2 ababa -> ab
2 abcba -> ab
2 aabbbbb -> bb (ab is not a valid output here)
3 aababba -> aab abb
3 aababbaa -> aab
3 asdasfadf -> asf
3 asdasfadfsdf -> asf adf
2 abcdefghijklmnopqrstuvwxyzyx -> yx
2 supercalifragilisticexpialidocious -> ic ii
3 supercalifragilisticexpialidocious -> iri ili ioi
4 supercalifragilisticexpialidocious -> scii
5 supercalifragilisticexpialidocious -> iapic
2 eeeebaadbaecaebbbbbebbbbeecacebdccaecadbbbaceebedbbbddadebeddedbcedeaadcabdeccceccaeaadbbaecbbcbcbea -> bb be
10 bbbbacacbcedecdbbbdebdaedcecdabcebddbdcecebbeeaacdebdbebaebcecddadeeedbbdbbaeaaeebbedbeeaeedadeecbcd -> ebbbdbeece ebdbdbeece
20 aabbbaaabaaabaaaabbbbabbbbabbbabbbbbabbaaaababbbaababbbaababaaaabbaaabbaabbbabaaabbabbaaabbaaaaaaaba -> aabbbbaaabbabbbaabba
Правила
- Ви можете припустити, що вхід буде колись лише порожнім рядком з малих літер і додатним цілим числом, не більшим за довжину рядка.
- Ви можете приймати дані в будь-якому стандартному форматі та в будь-якому порядку.
- Ви можете вивести один рядок або декілька у вигляді масиву, розділених новими рядками або пробілами тощо.
- Ваш код повинен закінчувати кожен тестовий випадок менше ніж за 1 хвилину на будь-якому досить сучасному комп'ютері.
- Це код-гольф , тому зробіть свій код якомога коротшим.
2 abb -> ba
там, де він створений як (b)[ab]a
: ведучий (b)
ігнорується, [ab]
відповідають.