Una cadena x
genera una cadena y
si y
es una subcadena de una repetición infinita de x
. Por ejemplo abc
genera bcabcab
.
Escriba un programa para encontrar la cadena más corta, lexicográficamente más pequeña que generará la entrada. Se le da en la entrada estándar una sola línea de texto. Debe imprimir la cadena generadora a la salida estándar. Por ejemplo:
entrada
bcabcabca
salida
abc
El código más corto gana. Puede suponer que la entrada contiene solo los caracteres az (y una nueva línea final si lo desea).
bac
s.
(bca)^n
, lo que significa que bca
es tan válido para el ejemplo dado como abc
.
bca
no es el más pequeño lexicográficamente.
bac
en su ejemplo en lugar deabc
?