Рядок x
генерує рядок, y
якщо y
є підрядком нескінченного повторення x
. Наприклад abc
генерує bcabcab
.
Напишіть програму, щоб знайти найкоротший, лексикографічно найменший рядок, який генерує вхід. На стандартному введенні вам надається один рядок тексту. Ви повинні надрукувати генераційний рядок до стандартного виводу. Наприклад:
вхід
bcabcabca
вихід
abc
Найкоротший код виграє. Ви можете припустити, що вхід містить лише символи az (і новий край, якщо ви хочете).
bac
s.
(bca)^n
, що означає bca
, що так само справедливо для даного прикладу abc
.
bca
не найменший лексикографічно.
bac
у вашому прикладі, а неabc
?