BZOJ3816矩阵变换
2016-03-21 21:29
197 查看
3816: 矩阵变换
Time Limit: 10 Sec Memory Limit: 512 MB
Submit: 316 Solved: 213
Description
给出一个 N 行 M 列的矩阵A, 保证满足以下性质:
M>N。
矩阵中每个数都是 [0,N] 中的自然数。
每行中, [1,N] 中每个自然数都恰好出现一次。这意味着每行中 0 恰好出现 M−N 次。
每列中,[1,N] 中每个自然数至多出现一次。
现在我们要在每行中选取一个非零数,并把这个数之后的数赋值为这个数。我们希望保持上面的性质4,即每列中,[1,N] 中每个自然数仍然至多出现一次。
Input
第一行一个正整数 T,表示数据组数。
后面包含 T 组数据,各组数据之间无空行。每组数据以两个正整数 N,M 开始,接下来 N 行,每行 M 个用空格隔开的整数,意义如题所述。
Output
对于每组数据输出一行。如果有解,则输出 N 个整数,依次表示每一行取的数是多少。(这应该是一个 1 到 N 的排列)如果无解,则输出任意卖萌表情。
Sample Input
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
Sample Output
4 5 3 1 2
5 4 3 1 2
explanation
两组输入数据是相同的。由于结果不唯一,你可以给出任意一组合法答案
HINT
对于 100% 的数据,N<200,M<400,T<50。
卖萌表情包括但不限于“(^o^)/” (不含引号).
由于输入数据较大, 请自行优化输入方法.
请不要提交,期待SPJ
Source
2015年国家集训队测试
Python大法好。。
其实标算是dfs+数位DP。。
附上本蒟蒻的代码:
Time Limit: 10 Sec Memory Limit: 512 MB
Submit: 316 Solved: 213
Description
给出一个 N 行 M 列的矩阵A, 保证满足以下性质:
M>N。
矩阵中每个数都是 [0,N] 中的自然数。
每行中, [1,N] 中每个自然数都恰好出现一次。这意味着每行中 0 恰好出现 M−N 次。
每列中,[1,N] 中每个自然数至多出现一次。
现在我们要在每行中选取一个非零数,并把这个数之后的数赋值为这个数。我们希望保持上面的性质4,即每列中,[1,N] 中每个自然数仍然至多出现一次。
Input
第一行一个正整数 T,表示数据组数。
后面包含 T 组数据,各组数据之间无空行。每组数据以两个正整数 N,M 开始,接下来 N 行,每行 M 个用空格隔开的整数,意义如题所述。
Output
对于每组数据输出一行。如果有解,则输出 N 个整数,依次表示每一行取的数是多少。(这应该是一个 1 到 N 的排列)如果无解,则输出任意卖萌表情。
Sample Input
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
Sample Output
4 5 3 1 2
5 4 3 1 2
explanation
两组输入数据是相同的。由于结果不唯一,你可以给出任意一组合法答案
HINT
对于 100% 的数据,N<200,M<400,T<50。
卖萌表情包括但不限于“(^o^)/” (不含引号).
由于输入数据较大, 请自行优化输入方法.
请不要提交,期待SPJ
Source
2015年国家集训队测试
Python大法好。。
其实标算是dfs+数位DP。。
附上本蒟蒻的代码:
#1
相关文章推荐
- NFC的第一次接触
- hdu 2896 (AC自动机)
- python学习常用到的模块
- Hbase数据库简单理解
- day13_oracle—批量清空表
- day13_oracle物化视图
- day13_oracle定时任务
- day13_普通表转换成分区表——T_MOBBIZ_LOG表清理
- day13_普通表转换成分区表——具体实现
- day13_普通表转换成分区表——oracle学习之bulk collect用法
- Node.js文件操作一
- MapReduce实战--倒排索引
- 深度学习教程
- 开发中遇到tomcat有关问题问题
- 学习笔记:二分法排序,选择排序,冒泡排序,以及递归算法.
- ACM程序设计选修课——1058: Lucky Sequence(思考)
- java编程思想第四版中net.mindview.util的jar包导入
- LC124 Binary Tree Maximum Path Sum
- day13_普通表转换成分区表——抽奖记录历史表改造方案
- day12_存储过程调试权限