题:

总时间限制: 1000ms       内存限制:65536kB
描写叙述

凹凸不平的地面每当下雨的时候总会积水。如果地面是一维的。每一块宽度都为1,高度是非负整数。那么能够用一个数组来表达一块地面。

比如[0,1,0,2,1,0,1,3,2,1,2,1]能够用来表示下图地面:

当下过雨后,地面就会积水,上图中蓝色的区域就是积水区域。如今给你一个数组表示地面,求下过雨后这块地面有多少积水量(如果不蒸发、不渗透)。

输入
第一行是一个整数m。表示有m组试例子,不超过100。

接下来m块。每块第一行是一个正整数n。表示地面总宽度(数组长度)。不超过20000。

接下来一行是n个整数。用空格隔开,表示地面高度。

输出
对于每组输入,输出一个整数表示积水量。

例子输入:

例子输出:
6
2

解:

#include<iostream>
using namespace std;
int main()
{
int m,n,i,j,c,b,z,l,x=0;
int a[20000];
h:
cout<<"请输入样式组数m(m<=100)"<<endl;
cin>>m;
if(m<0||m>100)
{
cout<<"输入错误。请又一次输入"<<endl;
goto h;
}
for(i=0;i<m;i++)
{
e:
cout<<"请输入数组长度n(n<=20000)"<<endl;
cin>>n;
if(n>20000||n<0)
{
cout<<"输入错误,请又一次输入"<<endl;
goto e;
} for(j=0;j<n;j++) {
cin>>a[j];
}
b=0;
j=0;
w:
b=j;
for(j=b+1;j<n;j++)
{
for(z=b;z>=0;z--)
{
if(a[z]>a[j])
{
for(c=j+1;c<n;c++)
{
if(a[c]>a[j])
{
if(a[c]>a[z])
{
l=a[z];
}
else
{
l=a[c];
}
x=x+(l-a[j]); goto w;
}
}
}
}
}
cout<<"积水量为"<<x<<endl;
} return 0;
}

推荐文章:那些年。做的几个应用

OpenJudge百炼习题解答(C++)--题4074:积水量的更多相关文章

  1. OpenJudge百炼习题解答(C++)--题4010:2011

    题: 总时间限制:  1000ms  内存限制:  65536kB 描写叙述 已知长度最大为200位的正整数n.请求出2011^n的后四位. 输入 第一行为一个正整数k,代表有k组数据,k<=2 ...

  2. OpenJudge百炼习题解答(C++)--题3142:球弹跳高度的计算

    题: 总时间限制:  1000ms  内存限制:  65536kB 描写叙述 一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半.再落下. 编程计算气球在第10次落地时,共经过多少米? ...

  3. OpenJudge百炼习题解答(C++)--题2704:竞赛评分

    题: 总时间限制:  1000ms  内存限制:  65536kB 描写叙述 现举行一次小竞赛,參赛的3支队伍,编号为1,2,3.每支队列轮流回答问题,假设回答正确,加10分;回答错误,扣10分;放弃 ...

  4. DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  5. 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答

    今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到非常多困难,当我在网上寻找答案时却找不到,而林 ...

  6. Coursera公开课Functional Programming Principles in Scala习题解答:Week 2

    引言 OK.时间非常快又过去了一周.第一周有五一假期所以感觉时间绰绰有余,这周中间没有假期仅仅能靠晚上加周末的时间来消化,事实上还是有点紧张呢! 后来发现每堂课的视频还有相应的课件(Slide).字幕 ...

  7. 《C++编程思想》第四章 初始化与清除(原书代码+习题+解答)

    相关代码: 1. #include <stdio.h> class tree { int height; public: tree(int initialHeight); ~tree(); ...

  8. (搬运)《算法导论》习题解答 Chapter 22.1-1(入度和出度)

    (搬运)<算法导论>习题解答 Chapter 22.1-1(入度和出度) 思路:遍历邻接列表即可; 伪代码: for u 属于 Vertex for v属于 Adj[u] outdegre ...

  9. 《Programming Massively Parallel Processors》Chapter5 习题解答

    自己做的部分习题解答,因为时间关系,有些马虎,也不全面,欢迎探讨或指出错误 5.1 Consider the matrixaddition in Exercise 3.1. Can one use s ...

随机推荐

  1. gridview展开嵌套显示

    最近实在是太忙了,好几个月没有更新博客了,近来项目需要用到GRIDVIEW嵌套的,在这里跟大家分享一下,大家如有更好的解决方案,请不吝贴出.在ASP.NET中,GridView嵌套可以显示当前选定的父 ...

  2. JSON相关

  3. 支持解析GitHub Flavored Markdown(GFM)的PHP库-Parsedown

    网上搜索PHP的markdown解析库,只能找得到Michel的PHP Markdown,这个库很不错,但是他只能支持标准markdown和他自己定义的一套扩展php Markdown Extra.这 ...

  4. oe7升级到oe8中import的使用

     oe 7.0到oe 8.0 切换的时候发现我们系统的很多的module 无法load , import的时候出错, 后来发现oe 8.0自己的addons 也都做了修改在import自己的addon ...

  5. 流畅的python第五章一等函数学习记录

    在python中,函数是一等对象,一等对象是满足以下条件的程序实体 1在运行时创建 2能复制给变量或数据结构的元素 3能作为参数传给函数 4能作为函数的返回结果 高阶函数(接受函数作为参数或者把函数作 ...

  6. 流畅的python第四章文本和字节序列学习记录

    字符问题 把码位转化成字节序列的过程是编码,把字节序列转化成码位的过程是解码 把unicode字符串当成人类可读的文本,码位当成机器可读的, 将字节序列编程人类可读是解码,把字符串编码成字节序列是编码 ...

  7. tomcat下配置https环境(windows环境)

    在网上搜了一下,内容不是很完善.现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin目录 (2)输入如下指令“keytool -v -genkey -alias tomcat -ke ...

  8. Linux下libsvm的安装及简单练习

    引文:常常在看paper的时候.就看到svm算法,可是要自己来写真的是难于上青天呀! 所幸有一个libsvm的集成软件包给我们使用,这真的是太好了.以下简介下怎么来使用它吧! LIBSVM是一个集成软 ...

  9. ExportAsFixedFormat Visio文件另存为其他几种格式的处理

    Visio文件另存为其他几种格式的处理,以及另存为Web文件等相关操作. 1.Visio导出为PDF格式 在一般情况下,PDF格式是较为常用的内容格式,因此Visio文档(Vsd格式)导出为PDF也是 ...

  10. cocos2d-x 3.1.1 学习笔记[15] Shader 著色器

    首先须要两个文件 gray.fsh varying vec4 v_fragmentColor; varying vec2 v_texCoord; void main() { vec4 v_orColo ...