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

Покраска забора

Покраска забора

Мэр города Многоярославца решил построить перед своим домом забор из \textbf{n} деревянных досок и нанять лучшего маляра города для его покраски. Поскольку забор должен стать главной достопромечательностью города, лучший дизайнер города для каждой доски назначил тщательно выбранный цвет, в который она должна быть покрашена. Для покраски главный маляр решил применить новейшую технологию, специально разработанную им для выполнения этого задания. Покраской забора будет заниматься специальный робот, который за один час может покрасить произвольный отрезок забора (набор соседних досок) в некоторый цвет. Поскольку задание должно быть выполнено как можно быстрее, требуется составить программу для робота, которая позволит достичь требуемой раскраски за минимальное время. Оставить какую-то из досок непокрашенной, естественно, запрещается. \InputFile В первой строке входного файла записано число \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{300}), где \textbf{n} количество досок в заборе. Вторая строка содержит строку из \textbf{n} символов, описывающую требуемую покраску забора. Цвета обозначаются заглавными латинскими буквами. \OutputFile В первой строке выходного файла выведите \textbf{m} - наименьшее возможное время покраски забора в часах. Следующие \textbf{m} строк должны содержать программу покраски для робота. Каждая строка должна содержать два числа\textbf{l}_\{i \}и_\{ \}\textbf{r}_i, а также заглавную букву латинского алфавита, задающую цвет \textbf{c_i} и означающую, что робот должен покрасить участок забора с \textbf{l_i}-й по \textbf{r_i}-ю доску в цвет \textbf{c_i} (если длина забора \textbf{n}, должно выполняться \textbf{1} ≤ \textbf{l_i} ≤ \textbf{r_i} ≤ \textbf{n}).
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
5
ABBCA
Çıxış verilənləri #1
3
1 5 A
4 4 C
2 3 B