题目描述
小蓝正在登山,山峰的高度构成 n 行 m 列的正整数矩阵,ai,j 表示第 i 行第 j 列格子 (i,j) 上的山峰的高度。小蓝以一种特别的方式进行登山,如果他此刻在第 p 行第 q 列的格子 (p,q) 上,那么下一步可以选择:
- 走到格子 (i,q),满足 ai,q<ap,q 且 i>p;
- 走到格子 (i,q),满足 ai,q>ap,q 且 i<p;
- 走到格子 (p,j),满足 ap,j<ap,q 且 j>q;
- 走到格子 (p,j),满足 ap,j>ap,q 且 j<q。
小蓝想知道,如果他依次从每一个格子开始出发,按照最优策略,他最高能到达的山峰的高度的平均值是多少?
输入格式
输入的第一行包含两个正整数 n,m,用一个空格分隔。
接下来 n 行,每行包含 m 个正整数。其中第 i 行包含 ai,1,ai,2,⋯,ai,m,相邻整数之间使用一个空格分隔。
输出格式
输出一行包含一个实数表示答案,四舍五入保留正好 6 位小数。
样例
输入 #1
2 2
1 3
3 2
输出 #1
2.500000
解释 #1
除了从格子 (1,1) 出发以外,其他格子都能到达高度为 3 的山峰,(1+3+3+3)/4=2.5。
2 3
2 4 1
4 2 5
4.166667
解释 #2
每个格子能到达的高度:
444445
其中 (1,1) 可以先到达格子 (1,3) 再到达格子 (1,2)。
数据范围
- 对于 40% 的评测用例,1≤n,m≤102;
- 对于所有评测用例,1≤n,m≤104,1≤n×m≤106,1≤aij≤109。