笨蛋同学被怪兽抓走了!她不希望天才同学冒险来救她,于是留下了一些谜题。 但是,天才同学认为:“无论如何,笨蛋同学都是我最好的朋友,她需要我”。于是踏上了拯救笨蛋同学之路。 笨蛋同学留下了一个 的整数矩阵。你需要为每一组测试数据计算一个“密码”。 我们先定义两件事: 1. 子矩阵 从矩阵中选出连续的若干行(比如第 行到第 行),再选出连续的若干列(比如第 列到第 列),它们交叉出来的那一块就是一个子矩阵。子矩阵必须非空。 2. 子矩阵的值 一个子矩阵的值等于它里面所有元素的按位与。记按位与为 。例如:。 把这个矩阵的所有子矩阵都列出来。每个子矩阵都会得到一个整数值。把这些值放到一个数组里,从小到大排序。 设一共有 个子矩阵。 把所有子矩阵的值从小到大排序后,我们定义中位数为第 个数。这个数就是本题答案。 :代表对 进行下取整操作,得到不超过 的最大整数。
输入描述:
每个测试文件均包含多组测试数据。第一行输入一个整数 代表数据组数,每组测试数据描述如下:第一行输入两个整数 表示矩阵的行数与列数。此后 行,第 行输入 个整数 ,表示矩阵第 行第 列的元素。除此之外,保证单个测试文件的所有测试数据满足:,。
输出描述:
对于每一组测试数据,新起一行,输出一个整数,表示谜题答案。
备注:
如果您选用 Python 作答本题,请注意:在几乎全部的情况下,PyPy 的运行速度优于 Python,我们建议您选择对应版本的 PyPy 进行提交、而不是 Python。
加载中...