【题解】WebGoC 102683.大雨过后

题目描述

在小C的学校,楼顶有一个巨大的露天水箱(初始为空)。


台风来袭,大雨不停灌入水箱中,水面不断上升,

水箱下面有个排水管,排水使得水面不断下降。

各个小时的雨量可能不同,但同一小时内的雨量是稳定不变的,

水箱的排水速度是保持不变的。

现已知水箱的高度high,以及每小时的排水导致水面下降高度down。

水面下降到0则无水可排。


说明:++水满则溢出。++

请绘制这个水箱的最高水位,以及大雨停止时的水位高度。


水箱的宽度为400,用空心矩形表示水箱,用实心矩形表示雨停时的水位高度,(默认颜色)

用红色(1)横线表示水箱的最高水位。


输入格式

1+N行数据

第一行3个数:

  • n是降水小时数,整数,范围为1,24
  • high是水箱高度,小数,范围为50.0,300.0
  • down是水位每小时下降高度,小数,范围是0.1,100.0

第2~N+1行,n个小数,表示因降雨导致的每小时水面上升高度。


输出格式

水箱示意图


输入/输出例子1

输入:

5 300 15

33.1l

35.8

36.9

30.1

29.6

输出:


输入/输出例子2

输入:

5 350 50.3

41.9

50.6

90.9

60.8

20.1

输出:


参考答案

cpp 复制代码
int main(){
    int n;
    double h,d,x,a,max_a = 0;
    cin >> n >> h >> d;
    p.up().r(400, h).bk(h/ 2.0);
    for(int i = 1;i <= n;i++) 
    {
        cin >> x;
        a = a + x - d;
        if(a < 0) a = 0;
        if(a > h) a = h;
        if(a > max_a) max_a = a;
    }
    p.fd(a / 2.0).rr(400, a);
    p.bk(a / 2.0).fd(max_a);
    p.rr(400, 4, 1);
    p.hide();   
    return 0;

}

题目链接:

https://v1.51goc.com/question/viewProgram/102683

(进去后要登录)

相关推荐
2601_954526751 天前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
叩码以求索1 天前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
c238561 天前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
aaaameliaaa1 天前
指针之总结
c语言·笔记·算法
宵时待雨1 天前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz1 天前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf2161 天前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
noipp1 天前
推荐题目:洛谷 P6231 [JSOI2013] 公交系统
c语言·数据结构·c++·算法·游戏·洛谷·luogu
c238561 天前
C/C++每日一练6
c语言·c++·算法
AI小码1 天前
把动作「画」给视频世界模型,跨本体双向推演,李飞飞参与
大数据·人工智能·算法·ai·大模型·音视频·编程