2558: 第一次
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
现在我们来玩一个比智力的游戏,看看谁更聪明!聪聪在听MM介绍完游戏规则之后,为了让她高兴,希望找出一个使自己每次都输掉的办法。
给出一个N×M的被黑白间隔染色的棋盘,其中第i行第j列的格子是白色的当且仅当i+j是偶数。每个格子中都被填入了一个正整数。现在聪聪从棋盘上选出一个矩形,设这个矩形中所有白色格子中的数之积为A,矩形中所有黑色格子中的数之积为B,那么聪聪的得分为S1=A÷B。在计算出聪聪的得分之后,MM也选择一个矩形,并计算出对应的得分S2。若聪聪的得分比MM少则聪聪获胜,否则MM获胜。当然,聪聪希望MM每次都能赢,所以他请你帮忙找出得分最大的矩形。
输入
第1行包含两个正整数N、M,分别表示棋盘的行数和列数。
第2行到N+1行,每行包含M个正整数,其中第i+1行的第j个数表示棋盘上第i行第j列的格子中的数。
输出
输出文件first.out只包含1行,输出最大的得分。因为这个值可能非常大,所以你只需输出答案的前6位。注意不需要对答案进行四舍五入,比如说12.3456789应该被输出为123456。
样例输入 复制
4 5
4 8 7 9 4
8 3 2 9 7
3 8 4 4 1
6 8 6 9 1
样例输出 复制
202500
提示
如图所示,选出左上角为第2行第2列,右下角为第4行第4列的矩形,最大得分为(3×9×4×8×9)÷(2×8×4×6)=20.25,前6位是202500。
【数据规模和约定】
对于20%的数据,N,M≤25。
对于40%的数据,N,M≤35。
对于60%的数据,N,M≤80。
对于全部的数据,N,M≤300。
棋盘上每个格子被填入的数都不超过100。
【提示】
实数计算会有误差。为了保证精度,请使用双精度实型(double)来存储所有的实数。