我是靠谱客的博主 单薄超短裙,最近开发中收集的这篇文章主要介绍CCF201312-3 最大的矩形,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在这里插入代码片#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 最大的矩形所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部