概述
在这里插入代码片#include<iostream>
using namespace std;
/*采用从左向右遍历的方法,半暴力求解
求出包含从第i个到第j个的矩形的组合矩形的面积*/
int main(){
int n;
cin>>n;
int h[n];//存放每个矩形高度
long int k=0;
for(int i=0;i<n;i++) cin>>h[i];
long int s;
for(int i=0;i<n;i++){
int l=1e5;
for(int j=i;j<n;j++){
if(h[j]<l) l=h[j];
s=l*(j-i+1);
if(s>k) k=s;
}
}
cout<<k;
}
注意点:1.虽然题目说了高度不超过10000,但是定义l=1e4时会有一个测试点不得分。没弄清楚为什么。
2.当初试图定义一个数组s[n][n]用来保存每个面积。结果会使得空间使用超标,只能拿40分。实际上定义二维数组多此一举。
最后
以上就是单薄超短裙为你收集整理的CCF201312-3 最大的矩形的全部内容,希望文章能够帮你解决CCF201312-3 最大的矩形所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复