Una stringa x
genera una stringa y
se y
è una sottostringa di una ripetizione infinita di x
. Ad esempio abc
genera bcabcab
.
Scrivi un programma per trovare la stringa più breve, lessicograficamente più piccola, che genererà l'input. In input standard viene fornita una singola riga di testo. È necessario stampare la stringa di generazione sull'output standard. Per esempio:
ingresso
bcabcabca
produzione
abc
Il codice più corto vince. Puoi supporre che l'input contenga solo i caratteri az (e una nuova riga finale se vuoi).
bac
s.
(bca)^n
, il che significa che bca
è valido per l'esempio dato come abc
.
bca
non è il più piccolo lessicograficamente.
bac
nel tuo esempio anzichéabc
?