bzoj#P3816. 矩阵变换
矩阵变换
题目描述
给出一个 行 列的矩阵 ,保证满足以下性质:
-
;
-
矩阵中每个数都是 中的自然数。
-
每行中, 中每个自然数都恰好出现一次,这意味着每行中 恰好出现 次;
-
每列中, 中每个自然数至多出现一次。
现在我们要在每行中选取一个非零数,并把这个数之后的数赋值为这个数。
我们希望保持上面的性质 ,即每列中, 中每个自然数仍然至多出现一次。
输入格式
第一行一个正整数 ,表示数据组数。
后面包含 组数据,各组数据之间无空行。
每组数据以一行两个正整数 开始。
接下来 行,每行 个用空格隔开的整数,意义如题所述。
输出格式
对于每组数据输出一行。
如果有解,则输出 个整数,依次表示每一行取的数是多少。(这应该是一个 到 的排列)如果无解,则输出任意卖萌表情。
2
5 10
0 1 0 2 3 0 0 4 0 5
2 0 3 0 0 1 0 5 4 0
4 2 1 0 0 0 3 0 5 0
0 3 0 4 0 5 0 1 2 0
1 0 0 3 2 4 5 0 0 0
5 10
0 1 0 2 3 0 0 4 0 5
2 0 3 0 0 1 0 5 4 0
4 2 1 0 0 0 3 0 5 0
0 3 0 4 0 5 0 1 2 0
1 0 0 3 2 4 5 0 0 0
4 5 3 1 2
5 4 3 1 2
样例解释
两组输入数据是相同的。由于结果不唯一,你可以给出任意一组合法答案。
数据规模与约定
对于 的数据,,,。
卖萌表情包括但不限于 (\^o^)/
。
由于输入数据较大, 请自行优化输入方法.
请不要提交,期待SPJ。
来源
年国家集训队测试。