eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Преобразование ДНК

Преобразование ДНК

Биологи лаборатории \textit{Advanced Celluar Mechanics Lab. (ACM Lab.)} занимаются исследованиями в области геномов и ДНК. Недавно в этой лаборатории была разработана технология, позволяющая достаточно дёшево производить с цепочкой ДНК некоторые преобразования. Представим себе цепочку ДНК как строку длины \textbf{n} из символов из множества \{\textbf{A}, \textbf{G}, \textbf{C}, \textbf{T}\}. Элементарное преобразование, которое умеют производить биологи лаборатории, представляет собой разворот подстроки с \textbf{l}-го по \textbf{r}-й символ (целые числа \textbf{l} и \textbf{r} выбираются так, что \textbf{1} ≤ \textbf{l} ≤ \textbf{r} ≤ \textbf{n}). Таким образом, из строки \textbf{a_1a_2...a_la_\{l+1\}...a_\{r−1\}a_r...a_n} получается строка \textbf{a_1a_2...a_ra_\{r−1\}...a_\{l+1\}a_l...a_n}. Теперь биологи разрабатывают программно-аппаратный комплекс для выполнения преобразований ДНК. Одной из его функций будет преобразование исходной цепочки ДНК в требуемую. Ваша задача - написать программу, которая по исъодной и требуемой цепочкам ДНК будет находить необходимую для этого цепочку элементарных преобразований. \InputFile Первая строка входного файла содержит описание исходной цепочки ДНК, вторая строка - описание требуемой цепочки ДНК. Длины обеих цепочек совпадают и не превышают \textbf{5000}. Каждая из цепочек содержит только символы из множества \{\textbf{A}, \textbf{G}, \textbf{C}, \textbf{T}\}. Гарантируется, что искомая последовательность преобразований существует. \OutputFile В первой строке выходного файла выведите количество \textbf{k} преобразований в построенном решении. Число\textbf{k} должно быть неотрицательным и не должно превышать \textbf{4999}. Далее выведите \textbf{k} строк, описывающих построенную последовательность элементарных преобразований. Каждая из строк должна содержать два числа: \textbf{l_i} и \textbf{r_i} - соответственно левый и правый конец разворачиваемого на \textbf{i}-м шаге отрезка.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
AGCT
GCAT
Выходные данные #1
3
1 2
2 3
3 3