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

Суффиксное дерево двух строк

Суффиксное дерево двух строк

Даны строки \textbf{s} и \textbf{t}. Постройте сжатое суффиксное дерево, которое содержит все суффиксы строки \textbf{s} и строки \textbf{t}. Найдите такое дерево, которое содержит минимальное количество вершин. \InputFile В первой строке записана строка \textbf{s} (\textbf{1} ≤ \textbf{|s|} ≤ \textbf{10^4}), последний символ строки равен "\textbf{\$}", остальные символы строки маленькие латинские буквы. Во второй строке записана строка \textbf{t} (\textbf{1} ≤ \textbf{|t|} ≤ \textbf{10^4}), последний символ строки равен "\textbf{#}", остальные символы строки маленькие латинские буквы. \OutputFile Пронумеруйте вершины дерева от \textbf{0} до \textbf{n-1} в порядке обхода в глубину, обходя поддеревья в порядке лексикографической сортировки исходящих из вершины ребер. Используйте ASCII-коды символов для определения их порядка. В первой строке выведите целое число \textbf{n} --- количество вершин дерева. В следующих \textbf{n-1} строках выведите описание вершин дерева, кроме корня, в порядке увеличения их номеров. Описание вершины дерева \textbf{v} состоит из четырех целых чисел: \textbf{p}, \textbf{w}, \textbf{lf}, \textbf{rg}, где \textbf{p} (\textbf{0} ≤ \textbf{p} < \textbf{n}, \textbf{p} ≠ \textbf{v}) --- номер родителя текущей вершины, \textbf{w} (\textbf{0} ≤ \textbf{w} ≤ \textbf{1}) --- номер строки для определения подстроки на ребре. Если \textbf{w=0}, то на ребре, ведущем из \textbf{p} в \textbf{v}, написана подстрока \textbf{s\[lf...rg-1\]} (\textbf{0} ≤ \textbf{lf} < \textbf{rg} ≤ \textbf{|s|}). Если \textbf{w=1}, то на ребре, ведущем из \textbf{p} в \textbf{v}, написана подстрока \textbf{t\[lf...rg-1\]} (\textbf{0} ≤ \textbf{lf} < \textbf{rg} ≤ \textbf{|t|}).
Лимит времени 4 секунды
Лимит использования памяти 256 MiB
Входные данные #1
ab$
ac#
Выходные данные #1
8
0 1 2 3
0 0 2 3
0 0 0 1
3 0 1 3
3 1 1 3
0 0 1 3
0 1 1 3
Источник Летняя школа Севастополь 2013, Волна 1, День 7 - Экзамен