有一个m*n的矩阵A,每个元素都是大于等于0的正整数,取值0到12,对于每

有一个m*n的矩阵A,每个元素都是大于等于0的正整数,取值0到12,对于每一行的每个不等于0的元素,它的值除以2的结果要大于等于这一行中小于等于它的值的元素的个数。公式怎... 有一个m*n的矩阵A,每个元素都是大于等于0的正整数,取值0到12,对于每一行的每个不等于0的元素,它的值除以2的结果要大于等于这一行中小于等于它的值的元素的个数。 公式怎么列? 展开
 我来答
匿名用户
2017-05-10
展开全部
假设存有矩阵的是int mat[][]
1.对每行分别计算该行某个元素之后有多少个连续的0(包括它本身),记录进数组int a[][]中
比如mat[0][0]、mat[0][1]、...、mat[0][10]都是0,而mat[0][11]是1,那么记录a[0][0]=11,a[0][1]=10,...,a[0][10]=1,a[0][11]=0
这个步骤用循环次数为m*n的双层循环即可实现
2.枚举所求矩阵的左上角坐标,然后枚举这个矩阵的行数,利用之前记录的a数组可知这个矩阵的列数,如此得到一个左上角坐标和行数已知的尽可能大的全0子矩阵,然后判断这个子矩阵大小是否最大的,是则记录
代码大致如下
for (i=0;i
更多追问追答
追问
您都帮我解出来了,其实我只是需要一个公式,就是约束条件的公式

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式