Ein String x
erzeugt einen String, y
wenn y
es sich um einen Teilstring einer unendlichen Wiederholung von handelt x
. Zum Beispiel abc
erzeugt bcabcab
.
Schreiben Sie ein Programm, um die kürzeste, lexikografisch kleinste Zeichenfolge zu finden, die die Eingabe generiert. Sie erhalten bei der Standardeingabe eine einzelne Textzeile. Sie sollten den generierenden String auf die Standardausgabe drucken. Beispielsweise:
Eingang
bcabcabca
Ausgabe
abc
Kürzester Code gewinnt. Sie können davon ausgehen, dass die Eingabe nur die Zeichen az enthält (und, wenn Sie möchten, eine nachgestellte Zeile).
bac
s.
(bca)^n
, was bca
für das gegebene Beispiel genauso gilt wie abc
.
bca
ist nicht die kleinste lexikografisch.
bac
in Ihrem Beispiel stattabc
?