Codeforces Global Round 11 |
---|
Закончено |
Вам дается колода из $$$n$$$ карт, пронумерованных от $$$1$$$ до $$$n$$$ (в колоде они лежат не обязательно в таком порядке). Вы должны отсортировать колоду, повторив следующую операцию несколько раз.
Вы должны получить отсортированную колоду (т.е. колоду, где первая карта имеет номер $$$1$$$, вторая — $$$2$$$ и т.д.), выполнив не более $$$n$$$ операций. Можно доказать, что всегда можно отсортировать колоду, выполнив не более $$$n$$$ операций.
Примеры операций: Ниже приведены три примера корректных операций (на трех колодах разного размера).
Первая строка ввода содержит одно целое число $$$n$$$ ($$$1\le n\le 52$$$) — количество карт в колоде.
Вторая строка содержит $$$n$$$ целых чисел $$$c_1, c_2, \dots, c_n$$$ – карты в колоде. Первая карта — $$$c_1$$$, вторая — $$$c_2$$$, и так далее.
Гарантируется, что для всех $$$i=1,\dots,n$$$ существует ровно одно $$$j\in\{1,\dots,n\}$$$ такое, что $$$c_j = i$$$.
В первой строке выведите $$$q$$$ — число операций, которые вы выполните (должно выполняться $$$0\le q\le n$$$).
Затем выведите $$$q$$$ строк, каждая из которых описывает одну операцию.
Чтобы описать операцию, выведите в одной строке $$$k$$$ — число частей, на которые вы собираетесь разделить колоду, а затем $$$k$$$ чисел $$$|D_1|, |D_2|, \dots , |D_k|$$$ — размеры частей.
Должно выполняться $$$2\le k\le n$$$, $$$|D_i|\ge 1$$$ для всех $$$i=1,\dots,k$$$, и $$$|D_1|+|D_2|+\cdots + |D_k| = n$$$.
Можно доказать, что всегда можно отсортировать колоду, выполнив не более $$$n$$$ операций. Если существует несколько способом отсортировать колоду, вы можете вывести любой из них.
4 3 1 2 4
2 3 1 2 1 2 1 3
6 6 5 4 3 2 1
1 6 1 1 1 1 1 1
1 1
0
Пояснение первого примера: Изначальная колода: [3 1 2 4].
Название |
---|