Перестановка длины $$$n$$$ — это последовательность целых чисел от $$$1$$$ до $$$n$$$ такая, что каждое число встречается в ней ровно один раз.
Назовем неподвижностью перестановки $$$p$$$ количество неподвижных точек в ней — количество позиций $$$j$$$ таких, что $$$p_j = j$$$, где $$$p_j$$$ — $$$j$$$-й элемент перестановки $$$p$$$.
От вас требуется построить последовательность перестановок $$$a_1, a_2, \dots$$$, начав с тождественной перестановки (перестановки $$$a_1 = [1, 2, \dots, n]$$$). Назовем это цепочкой перестановок. Таким образом, каждое $$$a_i$$$ — $$$i$$$-я перестановка длины $$$n$$$.
Для каждого $$$i$$$ от $$$2$$$ и дальше перестановка $$$a_i$$$ должна быть получена из перестановки $$$a_{i-1}$$$ обменом двух элементов местами (не обязательно соседних). Неподвижность перестановки $$$a_i$$$ должна быть строго меньше неподвижности перестановки $$$a_{i-1}$$$.
Рассмотрим некоторые цепочки для $$$n = 3$$$:
Найдите самую длинную цепочку перестановок. Если есть несколько самых длинных ответов, то выведите любой из них.
В первой строке записано одно целое число $$$t$$$ ($$$1 \le t \le 99$$$) — количество наборов входных данных.
В единственной строке каждого набора входных данных записано одно целое число $$$n$$$ ($$$2 \le n \le 100$$$) — необходимая длина перестановок в цепочке.
На каждый набор входных данных сначала выведите длину цепочки перестановок $$$k$$$.
Затем выведите $$$k$$$ перестановок $$$a_1, a_2, \dots, a_k$$$. $$$a_1$$$ должна быть тождественной перестановкой длины $$$n$$$ ($$$[1, 2, \dots, n]$$$). Для каждого $$$i$$$ от $$$2$$$ до $$$k$$$, $$$a_i$$$ должно быть получено обменом двух элементов в $$$a_{i-1}$$$ местами и должно иметь строго меньшее значение, чем $$$a_{i-1}$$$.
223
2 1 2 2 1 3 1 2 3 3 2 1 3 1 2
Название |
---|