问题 3301 --矩阵

3301: 矩阵

时间限制: 1 Sec  内存限制: 256 MB
提交: 3  解决: 1
[提交][状态][讨论版][命题人:]

题目描述

Alice有一个矩阵。Alice的矩阵有n行和m列,其中矩阵中的每个单元格都包含一个正整数。 Alice为矩阵分配一个得分(A,B): 

A是单调不降行的数量。具体来说,如果该行中的值从左到右是v1,v2,...,vm,则如果v1<=v2<=....<=vm,则该行是单调不降的。 

B是常量列的数量。如果该列中的值都相同,则该列是常量列。 Alice 的矩阵是一个带有一些缺失值的矩阵。Alice 希望以一种方式填充缺失值,以创建可能的最佳矩阵的得分。

如果一个矩阵的得分比另一个矩阵的得分字典序更高,那么这个矩阵就更好。具体的,假设有一个得分为(A,B)的矩阵和另一个得分为(A1,B1)的矩阵。 第一个矩阵更好,如果满足以下条件之一:A>A1,或者A==A1,B>B1 。 

输入

输入的第一行包含整数n和m。 

接下来的n行输入每行包含m个整数,描述矩阵。矩阵中的每个值要么是正整数,要么是零,其中零 代表缺失的值。 

输出

在单独一行上输出两个整数A和B,表示可以创建的最佳矩阵的得分(A,B)。

样例输入

样例1
3 5
2 3 3 6 0
0 3 1 6 8
1 3 6 0 8
样例2
2 3
1 0 2
3 0 4
样例3
2 4
2 4 0 1
2 0 3 1

样例输出

样例1
2 3
样例2
2 0
样例3
0 4

提示


提示 



对于样例1,可以将矩阵补充为 



2 3 3 6 8 



1 3 1 6 8 



1 3 6 6 8 



使得第1,7行是单调不降行,第2,4,5列为常量列,A=2,B=3。 



对于20%的数据n,m<=4 。 



对于另外20%的数据n,m<=100,vi,j!=0。 



对于另外20%的数据 n,m<=100。 



对于全部数据 1<=n,m<=10^5,nm<=10^6,0<=vi,j<=10^6,vi,j为输入的矩阵第i行第j列的数字。

来源

[提交][状态]