logo AlgoBeat OnlineJudge
登录 注册

#216465. [XJTUPC 2026] 矩阵拆分

内存限制:512 MiB 时间限制:1500 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

给定一个 的非负整数矩阵 。你需要构造一个 的非负整数矩阵 ,满足:

  • 。其中 表示 的转置,即将其行和列互换得到的新矩阵(原来 中第 行第 列的元素,在 中位于第 行第 列)。
  • 对于任意 ,都有

  • 对于任意 ,都有

或报告无解。

其中, 为矩阵 行第 列的元素, 为矩阵 行第 列的元素。

如果存在多个解,输出任意一个即可。

输入格式

本题包含多组测试用例。输入的第一行,包含一个正整数 ),表示测试用例的数量。

接下来是 组测试用例的描述。

每个测试用例的第一行包含一个整数 ),表示矩阵的大小。

接下来 行,每行 个整数,用一个空格分隔,描述矩阵 ,其中第 行第 个整数表示 )。

保证所有测试用例中 的总和不超过

输出格式

对于每个测试用例,若无解,输出一行,仅包含一个字符串

否则,输出 行,其中:

  • 第一行包含一个字符串
  • 接下来 行,每行包含 个整数,用一个空格分隔,描述你构造的矩阵 ,其中第 行第 个整数表示 )。

如果存在多个解,输出任意一个即可。

答案对大小写不敏感。例如 都会被视为

样例

样例输入 1

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

样例输出 1

Yes
1 1 0 0
0 1 0 0
0 0 1 2
0 0 1 1
Yes
0 1 1 1
1 0 1 2
0 2 0 1
1 1 1 0
No