CF1713E.Cross Swapping
提高+/省选-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a square matrix A of size n×n whose elements are integers. We will denote the element on the intersection of the i-th row and the j-th column as Ai,j.
You can perform operations on the matrix. In each operation, you can choose an integer k, then for each index i (1≤i≤n), swap Ai,k with Ak,i. Note that cell Ak,k remains unchanged.
For example, for n=4 and k=3, this matrix will be transformed like this:
The operation k=3 swaps the blue row with the green column.
You can perform this operation any number of times. Find the lexicographically smallest matrix† you can obtain after performing arbitrary number of operations.
† For two matrices A and B of size n×n, let a(i−1)⋅n+j=Ai,j and b(i−1)⋅n+j=Bi,j. Then, the matrix A is lexicographically smaller than the matrix B when there exists an index i (1≤i≤n2) such that ai<bi and for all indices j such that 1≤j<i, aj=bj.
给你一个 n×n 的方阵 A,其元素均为整数。我们用 Ai,j 表示第 i 行与第 j 列交叉处的元素。
你可以对矩阵执行若干次操作。每次操作中,你可任选一个整数 k,然后对每个下标 i(1≤i≤n),交换 Ai,k 与 Ak,i。注意,元素 Ak,k 保持不变。
例如,当 n=4 且 k=3 时,该矩阵将按如下方式变换:
操作 k=3 将蓝色行与绿色列互换。
你可以执行该操作任意多次。求经过任意次操作后所能得到的字典序最小的矩阵†。
† 对于两个 n×n 矩阵 A 和 B,定义 a(i−1)⋅n+j=Ai,j,b(i−1)⋅n+j=Bi,j。则称矩阵 A 字典序小于矩阵 B,当且仅当存在某个下标 i(1≤i≤n2),使得 ai<bi,且对所有满足 1≤j<i 的下标 j,均有 aj=bj。
输入格式
The first line contains a single integer t (1≤t≤105) — the number of test cases.
The first line of each test case contains a single integer n (1≤n≤1000) — the size of the matrix.
The i-th line of the next n lines contains n integers Ai,1,Ai,2,…,Ai,n (1≤Ai,j≤109) — description of the matrix A.
It is guaranteed that the sum of n2 over all test cases does not exceed 106.
第一行包含一个整数 t(1≤t≤105)—— 测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤1000)—— 矩阵的大小。
接下来 n 行中的第 i 行包含 n 个整数 Ai,1,Ai,2,…,Ai,n(1≤Ai,j≤109)—— 矩阵 A 的描述。
保证所有测试用例的 n2 之和不超过 106。
输出格式
For each test case, print n lines with n integers each — the lexicographically smallest matrix.
对于每个测试用例,输出 n 行,每行包含 n 个整数——即字典序最小的矩阵。
输入输出样例
输入#1
2 3 2 1 2 2 1 2 1 1 2 4 3 3 1 2 1 1 3 1 3 2 3 2 2 3 3 1
输出#1
2 1 1 2 1 1 2 2 2 3 1 1 2 3 1 2 1 3 3 3 3 2 3 2 1
说明/提示
Note that in every picture below the matrix is transformed in such a way that the blue rows are swapped with the green columns.
In the first test case, we can perform 1 operation for k=3. The matrix will be transformed as below:

In the second test case, we can perform 2 operations for k=1 and k=3:


注意:在下方每张图中,矩阵均经过变换,使得蓝色行与绿色列互换。
在第一个测试用例中,我们可以对 k=3 执行 1 次操作。矩阵将按如下方式变换:

在第二个测试用例中,我们可以分别对 k=1 和 k=3 各执行 1 次操作,共 2 次操作:


输入解题思路,AI测评打分。不知道怎么写?