Codeforces Round 632 (Div. 2) |
---|
Закончено |
В средней школе №41 учатся $$$n$$$ детей. Всем известно, что они хорошие математики. Однажды на перемене ребята решили провести исследование. Они выстроились в один ряд и повернули головы налево или направо.
Дети проделывали следующую операцию: каждую секунду несколько пар соседних в ряду детей, смотрящих друг на друга, могли одновременно развернуться в противоположную сторону. Таким образом, ребенок, смотрящий на правого соседа, повернется налево, и наоборот для второго ребенка. Более того, каждую секунду хотя бы одна пара соседних детей проделывала подобную операцию. Процесс заканчивается, когда нет пары соседних детей смотрящих друг на друга.
Дано число детей $$$n$$$, изначальная расстановка детей в ряду и целое положительное число $$$k$$$. Необходимо найти последовательность действий детей, завершающий процесс ровно за $$$k$$$ секунд. Более формально, на каждый из $$$k$$$ ходов нужно вывести номера детей, которые повернутся налево во время хода.
Для примера, дети могут действовать с конфигурацией приведенной ниже и $$$k = 2$$$ следующим образом:
Если решение существует, то гарантируется что дети совершат не более чем $$$n^2$$$ разворотов.
Первая строка входных данных содержит два целых числа $$$n$$$, $$$k$$$ ($$$2 \le n \le 3000$$$, $$$1 \le k \le 3000000$$$) — количество детей и количество ходов через которые нужно закончить.
Вторая строка входных данных содержит строку длины $$$n$$$, которая состоит только из символов L и R. L значит, что ребенок смотрит налево, а R — направо.
Если решения не существует, выведите $$$-1$$$.
Иначе, вывод должен состоять из $$$k$$$ строк. Каждая строка должна начинаться с положительного целого числа $$$n_i$$$ ($$$1\le n_i \le \frac{n}{2}$$$) — количества пар детей, которые развернутся на этом ходу. Далее в этой же строке должно следовать $$$n_i$$$ попарно различных чисел — номера детей, которые повернут голову налево во время этого хода.
После проведения всех разворотов, не должно быть пары соседних детей, смотрящих друг на друга.
Если существует более одного решения, выведите любое из них.
2 1 RL
1 1
2 1 LR
-1
4 2 RLRL
2 1 3 1 2
Первый тест описывает пару детей смотрящих друг на друга. За один ход они развернутся.
Во втором тесте дети не могут сделать ни одного хода. В итоге они не смогут закончить за $$$k>0$$$ ходов.
Третий тест описан в условии.
Название |
---|