eolymp
bolt
Try our new interface for solving problems
Məsələlər

Декомпозиция

Декомпозиция

Возьмем некоторую последовательность \textbf{T} из \textbf{0} и \textbf{1}. Рассмотрим все варианты ее циклического сдвига. Для этого записываем символы последовательности по кругу и выписываем ее символы, двигаясь по часовой стрелке, начиная с произвольного символа, пока не дойдем до начального. Например, из "\textbf{01101}" получаются следующие \textbf{5} вариантов после их лексикографического упорядочения: "\textbf{01011}", "\textbf{01101}", "\textbf{10101}", "\textbf{10110}", "\textbf{11010}". Если последовательность \textbf{T} совпадает с вариантом циклического сдвига, являющимся после упорядочения первым, то будем называть ее "\textit{ожерельем}". Таким образом "\textbf{001}" -- "ожерелье", а "\textbf{01101}" -- нет. Любая последовательность \textbf{S} может быть записана единственным образом в виде сцепления "ожерелий" \textbf{T_i}: \textit{\textbf{S}} = \textbf{T_1 T_2 … T_k} таким образом, чтобы \textbf{T_i T_\{i+1\}} не являлось "ожерельем" и \textbf{T_\{i+1\}} <\textbf{ T_i} для всех \textbf{i} от \textbf{0} до \textbf{k−1}. Отношение \textbf{A} <\textbf{ B} означает, что либо первые символы \textbf{B} совпадают с \textbf{A} и при этом длина \textbf{A }<\textbf{ B}, либо первые \textbf{m} символов \textbf{A} сопадают с первыми \textbf{m} символами \textbf{B}, а (\textbf{m+1})-й символ \textbf{A} < (\textbf{m+1})-го символа \textbf{B}. Например, \textbf{001} < \textbf{0010} и \textbf{1101011} < \textbf{110110}. Напишите программу, которая находит для заданной строки представление в виде сцепления "ожерелий". \InputFile Вводится строка длиной не более \textbf{100} символов, состоящая только из \textbf{0} и \textbf{1} . \OutputFile Вывести представление введенной строки в виде описанного выше сцепления "ожерелий". Каждое "ожерелье" должно быть выведено в круглых скобках.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
0
Çıxış verilənləri #1
(0)