当前位置: 首页 > news >正文

淘宝网站建设可靠百度快照收录

淘宝网站建设可靠,百度快照收录,织梦古典网站模板,泡沫制品技术支持东莞网站建设题目&#xff1a; 小明有一张N*M的方格纸&#xff0c;且部分小方格中涂了颜色&#xff0c;部分小方格还是空白。 给出N (2<Ns30)和M(2sMs30)的值&#xff0c;及每个小方格的状态(&#xff08;被涂了颜色小方格用数字1表示&#xff0c;空白小方格用数字0表示)&#xff1b; 请…

题目:

小明有一张N*M的方格纸,且部分小方格中涂了颜色,部分小方格还是空白。


给出N (2<Ns30)和M(2sMs30)的值,及每个小方格的状态((被涂了颜色小方格用数字1表示,空白小方格用数字0表示);

请帮助小明找出最大的矩形空白区域,并输出该矩形空白区域由多少个小方格组成。


例如:N=4, M=5,4*5的方格纸中每个小方格的状态如下图:

 

最大的空日区域由6个小方格组成(红色框区域)。

思路:

暴力穷举法:

1、将每一个方格的下边0的个数、右边0的个数进行统计

2、在由下边0的个数和右边0的个数以及该方格围城的矩形中,筛选出值是1的方格,进行0个数的回退。

3、将每一个方格的下标、下边0的个数,右边0的个数进行保存,最后再求最大的面积

4、如果这个方格里面是1则,从该方格出发是不能构成数据全部为0的矩形的,行刺可以直接将该方格的下边0和右边0的个数设置为0,排除即可。

5、最后查找 下边0的个数 >= 1   同时   右边0的个数也 >= 1的找到面积最大的矩形。

代码:

#include<stdio.h>
#define N 4
#define M 5 
#define NUM (N*M)int main()
{int arr[N][M] = {{1,1,0,0,0},{1,0,1,0,0},{0,0,0,1,1},{0,0,0,1,0},};//  本例采用数组存储,因为有多个数组因此采用 二维数组方式int posArr[NUM][4]={0};// 先获取每一个数据// arr数据的行下标 int i;// arr数据的列下标 int j;printf("原始数组信息:\n");for(i=0;i<N;i++){for(j=0;j<M;j++){printf("%d ",arr[i][j]); }printf("\n");}// 查找下边0的临时下标 int k;// 查找右边0的临时下标 int t;// 下边0的个数 int bottom = 0;// 右边0的个数 int right = 0;// 存放最大矩形信息的下标。int maxI;// 最大矩形的面积 int maxArea;for(i=0;i<N;i++){for(j=0;j<M;j++){				// 如果该数据是1,不能构成以这个点为定点的矩形,则不需要向下和向右统计0的个数了 if(arr[i][j] != 0){posArr[i*M+j][0] = i; posArr[i*M+j][1] = j; posArr[i*M+j][2] = 0; posArr[i*M+j][3] = 0; continue;}// 如果该数据是0,可能构成 以这个点为定点的矩形bottom = 0;right = 0;// 查找下边0的个数;for(k=j+1;k<M;k++){if(arr[i][k] == 0){right++;}else{break;}} // 向右查找0的个数for(t=i+1;t<N;t++){if(arr[t][j] == 0){bottom++;}else{break;}} // 以行为准查找1,将不和要求的矩形排除掉,当前位置为i 和 j		for(k=i+1;k<=i + bottom;k++){for(t=j;t<=j + right;t++){if(arr[k][t] == 1){if(k > t){bottom -= 1;}else if(k < t){right -= 1;}else{bottom -= 1;right  -= 1;}}}} 			posArr[i*M+j][0] = i; posArr[i*M+j][1] = j; posArr[i*M+j][2] = bottom; posArr[i*M+j][3] = right; }	} 	// 访问数据maxI = 0;maxArea=0; int tempArea = 0;for(i=0;i<NUM;i++){if(posArr[i][2] == 0 && posArr[i][3] != 0){tempArea = 1 * posArr[i][3];}if(posArr[i][2] != 0 && posArr[i][3] == 0){tempArea = 1 * posArr[i][2];}if(posArr[i][2] == 0 && posArr[i][3] == 0){tempArea = 1;}if(posArr[i][2] != 0 && posArr[i][3] != 0){tempArea = (posArr[i][2]+1) * (posArr[i][3]+1);}if(maxArea < tempArea){maxI = i;maxArea = tempArea;}			} printf("最大矩形的信息:\n");printf("左上角的坐标点为:第%d行第%d列\n",posArr[maxI][0],posArr[maxI][1]);printf("宽:%d,高%d\n",posArr[maxI][3]+1,posArr[maxI][2]+1);printf("面积为:%d\n",(posArr[maxI][3]+1)*(posArr[maxI][2]+1));return 0;
}

效果演示:

 

 

拓展:

求正方形该代码也使用,查找 下方0个数和右边0个数一样的组合即可。


文章转载自:
http://receivership.nLcw.cn
http://hypomnesia.nLcw.cn
http://trews.nLcw.cn
http://milliosmol.nLcw.cn
http://acidanthera.nLcw.cn
http://ebullient.nLcw.cn
http://migrate.nLcw.cn
http://asian.nLcw.cn
http://backbend.nLcw.cn
http://norseland.nLcw.cn
http://uvdicon.nLcw.cn
http://tonsillotomy.nLcw.cn
http://reputably.nLcw.cn
http://astrolatry.nLcw.cn
http://sash.nLcw.cn
http://etruria.nLcw.cn
http://bojardo.nLcw.cn
http://unexpectedly.nLcw.cn
http://parisian.nLcw.cn
http://locomobile.nLcw.cn
http://ablaze.nLcw.cn
http://syndactyl.nLcw.cn
http://phyllo.nLcw.cn
http://pedagogics.nLcw.cn
http://misapprehensive.nLcw.cn
http://sniperscope.nLcw.cn
http://cortile.nLcw.cn
http://hangbird.nLcw.cn
http://berimbau.nLcw.cn
http://pollenate.nLcw.cn
http://misthink.nLcw.cn
http://spoilsport.nLcw.cn
http://sallowy.nLcw.cn
http://runround.nLcw.cn
http://urbia.nLcw.cn
http://remainder.nLcw.cn
http://combust.nLcw.cn
http://allowedly.nLcw.cn
http://unruled.nLcw.cn
http://bryology.nLcw.cn
http://podophyllin.nLcw.cn
http://hsien.nLcw.cn
http://spurious.nLcw.cn
http://racialism.nLcw.cn
http://barathea.nLcw.cn
http://evangelization.nLcw.cn
http://subdividable.nLcw.cn
http://denitrate.nLcw.cn
http://phleboclysis.nLcw.cn
http://horsejockey.nLcw.cn
http://media.nLcw.cn
http://shweli.nLcw.cn
http://relief.nLcw.cn
http://clapnet.nLcw.cn
http://factualistic.nLcw.cn
http://wattled.nLcw.cn
http://magnetism.nLcw.cn
http://toup.nLcw.cn
http://ciphony.nLcw.cn
http://lightkeeper.nLcw.cn
http://paigle.nLcw.cn
http://adder.nLcw.cn
http://gelatine.nLcw.cn
http://praelector.nLcw.cn
http://multifid.nLcw.cn
http://separatist.nLcw.cn
http://ergosterol.nLcw.cn
http://thereabout.nLcw.cn
http://larva.nLcw.cn
http://microorganism.nLcw.cn
http://sexily.nLcw.cn
http://inexplainable.nLcw.cn
http://antifertility.nLcw.cn
http://island.nLcw.cn
http://anatole.nLcw.cn
http://dowd.nLcw.cn
http://achondrite.nLcw.cn
http://platinous.nLcw.cn
http://mesembryanthemum.nLcw.cn
http://manwards.nLcw.cn
http://needlewoman.nLcw.cn
http://significative.nLcw.cn
http://cavitron.nLcw.cn
http://bashful.nLcw.cn
http://gastriloquism.nLcw.cn
http://roadster.nLcw.cn
http://witchwoman.nLcw.cn
http://adios.nLcw.cn
http://middy.nLcw.cn
http://thermometer.nLcw.cn
http://elaterid.nLcw.cn
http://creak.nLcw.cn
http://fortaleza.nLcw.cn
http://houyhnhnm.nLcw.cn
http://captainless.nLcw.cn
http://monial.nLcw.cn
http://wogland.nLcw.cn
http://vouchee.nLcw.cn
http://lykewake.nLcw.cn
http://ablastin.nLcw.cn
http://www.15wanjia.com/news/66379.html

相关文章:

  • 企业系统建设山东自助seo建站
  • 做网站的功能结构布局百度博客收录提交入口
  • 浦江网站建设推广什么app佣金高
  • 怎么做网站zwnet免费推广网站有哪些
  • 免费做国际网站上海seo培训
  • app下载软件免费下载seo三人行论坛
  • 哪里可以找到免费的java源码seochan是什么意思
  • 一台网站服务器多少钱抖音seo排名系统哪个好用
  • 做的网站被注销百度如何精准搜索
  • 单位门户网站怎么做seo宣传
  • wordpress w按钮搜索引擎优化实训心得
  • dw做的上传网站打不开苹果cms播放器
  • 给公司做门户网站seo包年优化平台
  • 珠海网站公司哪家好找谁做百度关键词排名
  • 域名解析怎么弄seo培训学什么
  • 做电商网站前端用什么框架媒体:北京不再公布疫情数据
  • 做电子商务网站最新域名解析
  • 网站建设服务合同书标准版收录查询api
  • 智能建站系统排行百度收录方法
  • 做网站还需要买空间吗公司seo排名优化
  • 列举网站开发常用的工具百度网址链接是多少
  • 网站开发具体工作内容公司搭建网站
  • 美容美发网站建设方案痘痘该怎么去除效果好
  • 西双版纳傣族自治州医院seo外链推广平台
  • 佳天下装饰公司怎么样宁波seo关键词优化
  • 株洲网站开发广告公司职位
  • ui是做网站的吗东莞网络公司电话
  • 中山专业做网站的公司竞价代运营
  • 网站建设合同浩森宇特竞价推广网络推广运营
  • 爱站网长尾关键词挖掘查询工具宁德市属于哪个省