摩天楼
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
33DAI 有一张 行 列的整数网格,格子 上的数 表示该处的建筑高度。
请找出最大的整数 ,使得存在一个 的子正方形,其中每个格子上的数都大于等于 。
形式化地说,要找到最大的 ,使得存在 满足 、、、,且对所有 与 都有 。
输入格式
从文件 tower.in 读入数据。
输入的第一行包含一个正整数 ,表示测试数据组数。
接下来依次给出 组数据,每组数据的格式为:
第一行包含两个正整数 与 ,表示网格的行数与列数,保证 。
接下来 行,每行 个整数,其中第 行的第 个数是 。
输出格式
输出到文件 tower.out。
对于每组数据,输出一行一个整数,表示满足条件的最大边长 。
4
2 2
2 3
4 5
1 3
1 2 3
2 3
4 4 3
2 1 4
5 6
1 9 4 6 5 8
10 9 5 8 11 6
24 42 32 8 11 1
23 1 9 69 13 3
13 22 60 12 14 17
2
1
1
3
样例 1 解释
第一组数据里取整个 网格,四个格子上的数都大于等于 ,所以答案是 。
第二组数据是 的网格,取边长 的正方形(例如格子 )满足条件。
第三组数据里可以取边长 的正方形,例如格子 。
第四组数据里可以取第 行、第 列构成的 区域,内部的数都大于等于 。
样例 2
见 tower2.in 与 tower2.ans。
样例 3
见 tower3.in 与 tower3.ans。
数据范围
对于所有测试数据,保证:
- ;
- ,;
- ;
- 单个测试文件中所有测试用例的 之和不超过 。
子任务
本题共 20 个测试点,按测试点计分:
| 测试点 | 分值 | 每个测试点 | 特殊限制 |
|---|---|---|---|
| 或 (退化成一维) | |||
| 无额外限制 |
每个测试点单独评分,全部测试点的得分之和即为本题得分。