CF1545C.AquaMoon and Permutations

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Cirno has prepared nn arrays of length nn each. Each array is a permutation of nn integers from 11 to nn . These arrays are special: for all 1in1 \leq i \leq n , if we take the ii -th element of each array and form another array of length nn with these elements, the resultant array is also a permutation of nn integers from 11 to nn . In the other words, if you put these nn arrays under each other to form a matrix with nn rows and nn columns, this matrix is a Latin square.

Afterwards, Cirno added additional nn arrays, each array is a permutation of nn integers from 11 to nn . For all 1in1 \leq i \leq n , there exists at least one position 1kn1 \leq k \leq n , such that for the ii -th array and the (n+i)(n + i) -th array, the kk -th element of both arrays is the same. Notice that the arrays indexed from n+1n + 1 to 2n2n don't have to form a Latin square.

Also, Cirno made sure that for all 2n2n arrays, no two arrays are completely equal, i. e. for all pair of indices 1i<j2n1 \leq i < j \leq 2n , there exists at least one position 1kn1 \leq k \leq n , such that the kk -th elements of the ii -th and jj -th array are different.

Finally, Cirno arbitrarily changed the order of 2n2n arrays.

AquaMoon calls a subset of all 2n2n arrays of size nn good if these arrays from a Latin square.

AquaMoon wants to know how many good subsets exist. Because this number may be particularly large, find it modulo 998244353998\,244\,353 . Also, she wants to find any good subset. Can you help her?

输入格式

The input consists of multiple test cases. The first line contains a single integer tt ( 1t1001 \leq t \leq 100 ) — the number of test cases.

The first line of each test case contains a single integer nn ( 5n5005 \leq n \leq 500 ).

Then 2n2n lines followed. The ii -th of these lines contains nn integers, representing the ii -th array.

It is guaranteed, that the sum of nn over all test cases does not exceed 500500 .

输出格式

For each test case print two lines.

In the first line, print the number of good subsets by modulo 998244353998\,244\,353 .

In the second line, print nn indices from 11 to 2n2n — indices of the nn arrays that form a good subset (you can print them in any order). If there are several possible answers — print any of them.

输入输出样例

  • 输入#1

    3
    7
    1 2 3 4 5 6 7
    2 3 4 5 6 7 1
    3 4 5 6 7 1 2
    4 5 6 7 1 2 3
    5 6 7 1 2 3 4
    6 7 1 2 3 4 5
    7 1 2 3 4 5 6
    1 2 3 4 5 7 6
    1 3 4 5 6 7 2
    1 4 5 6 7 3 2
    1 5 6 7 4 2 3
    1 6 7 5 2 3 4
    1 7 6 2 3 4 5
    1 7 2 3 4 5 6
    5
    4 5 1 2 3
    3 5 2 4 1
    1 2 3 4 5
    5 2 4 1 3
    3 4 5 1 2
    2 3 4 5 1
    1 3 5 2 4
    4 1 3 5 2
    2 4 1 3 5
    5 1 2 3 4
    6
    2 3 4 5 6 1
    3 1 2 6 4 5
    6 1 2 3 4 5
    5 6 1 3 2 4
    4 3 6 5 2 1
    5 6 1 2 3 4
    4 5 6 1 2 3
    3 4 5 6 1 2
    1 2 3 4 5 6
    2 5 4 1 6 3
    3 2 5 4 1 6
    1 4 3 6 5 2

    输出#1

    1
    1 2 3 4 5 6 7
    2
    1 3 5 6 10
    4
    1 3 6 7 8 9

说明/提示

In the first test case, the number of good subsets is 11 . The only such subset is the set of arrays with indices 11 , 22 , 33 , 44 , 55 , 66 , 77 .

In the second test case, the number of good subsets is 22 . They are 11 , 33 , 55 , 66 , 1010 or 22 , 44 , 77 , 88 , 99 .

首页