Łańcuch x generuje łańcuch, yjeśli yjest podciągiem nieskończonego powtórzenia x. Na przykład abcgeneruje bcabcab.
Napisz program, aby znaleźć najkrótszy, najmniejszy leksykograficznie ciąg znaków, który wygeneruje dane wejściowe. Przy standardowym wprowadzaniu podawany jest pojedynczy wiersz tekstu. Powinieneś wydrukować ciąg generujący na standardowe wyjście. Na przykład:
Wejście
bcabcabca
wynik
abc
Najkrótszy kod wygrywa. Możesz założyć, że dane wejściowe zawierają tylko znaki az (i końcowy znak nowej linii, jeśli chcesz).
bacs.
(bca)^n, co oznacza, że bcajest tak samo ważne dla podanego przykładu, jak abc.
bcanie jest najmniejszym leksykograficznie.
bacw twoim przykładzie, a nieabc?