CF1716B.Permutation Chain

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A permutation of length nn is a sequence of integers from 11 to nn such that each integer appears in it exactly once.

Let the fixedness of a permutation pp be the number of fixed points in it — the number of positions jj such that pj=jp_j = j , where pjp_j is the jj -th element of the permutation pp .

You are asked to build a sequence of permutations a1,a2,a_1, a_2, \dots , starting from the identity permutation (permutation a1=[1,2,,n]a_1 = [1, 2, \dots, n] ). Let's call it a permutation chain. Thus, aia_i is the ii -th permutation of length nn .

For every ii from 22 onwards, the permutation aia_i should be obtained from the permutation ai1a_{i-1} by swapping any two elements in it (not necessarily neighboring). The fixedness of the permutation aia_i should be strictly lower than the fixedness of the permutation ai1a_{i-1} .

Consider some chains for n=3n = 3 :

  • a1=[1,2,3]a_1 = [1, 2, 3] , a2=[1,3,2]a_2 = [1, 3, 2] — that is a valid chain of length 22 . From a1a_1 to a2a_2 , the elements on positions 22 and 33 get swapped, the fixedness decrease from 33 to 11 .
  • a1=[2,1,3]a_1 = [2, 1, 3] , a2=[3,1,2]a_2 = [3, 1, 2] — that is not a valid chain. The first permutation should always be [1,2,3][1, 2, 3] for n=3n = 3 .
  • a1=[1,2,3]a_1 = [1, 2, 3] , a2=[1,3,2]a_2 = [1, 3, 2] , a3=[1,2,3]a_3 = [1, 2, 3] — that is not a valid chain. From a2a_2 to a3a_3 , the elements on positions 22 and 33 get swapped but the fixedness increase from 11 to 33 .
  • a1=[1,2,3]a_1 = [1, 2, 3] , a2=[3,2,1]a_2 = [3, 2, 1] , a3=[3,1,2]a_3 = [3, 1, 2] — that is a valid chain of length 33 . From a1a_1 to a2a_2 , the elements on positions 11 and 33 get swapped, the fixedness decrease from 33 to 11 . From a2a_2 to a3a_3 , the elements on positions 22 and 33 get swapped, the fixedness decrease from 11 to 00 .

Find the longest permutation chain. If there are multiple longest answers, print any of them.

输入格式

The first line contains a single integer tt ( 1t991 \le t \le 99 ) — the number of testcases.

The only line of each testcase contains a single integer nn ( 2n1002 \le n \le 100 ) — the required length of permutations in the chain.

输出格式

For each testcase, first, print the length of a permutation chain kk .

Then print kk permutations a1,a2,,aka_1, a_2, \dots, a_k . a1a_1 should be an identity permutation of length nn ( [1,2,,n][1, 2, \dots, n] ). For each ii from 22 to kk , aia_i should be obtained by swapping two elements in ai1a_{i-1} . It should also have a strictly lower fixedness than ai1a_{i-1} .

输入输出样例

  • 输入#1

    2
    2
    3

    输出#1

    2
    1 2
    2 1
    3
    1 2 3
    3 2 1
    3 1 2
首页