首先题意:(这个真的令人无奈,题目都看不太明白)

网上百度了一下,就是以下意思:

给你n*m个格子,每个格子的面积是10*10米,整个区域外看作无限高的墙壁。输入每个格子的海拔高度(可能为负数),以及区域内的雨水总体积,输出区域水位的海拔高度以及淹没方格的占比。

注明一下:星星假装为水,题目给出了每个格子的海平面的高度。

最最最需要知道的是,装水是两个海平面之间的那个区域可以放水,而不是我画的那个方格,存水的是方格外面的区域。

海平线高度是什么意思——每个方格的海拔相当于这个方格的固体体积,可以把它们都看作木块,雨水只存在两个木块间高度差的空间内。

用两个栗子来解释一下!!!

 case :

 解答:
首先我们看一下3000是否会将所有格子的空间都填埋了? 填埋最少所需的水量:((-)+(-))**=
我们可以看到完全可以
所有答案是 h= 百分比是1
图示:
30
20 20
10 10 10
0 0 0
case :

- - -

解答:
首先我们看一下3000是否会将所有格子的空间都填埋了? 填埋最少所需的水量:((-)+(-))**=
我们可以看到完全可以
所有答案是 h=- 百分比是1
图示: -
- -
- - -

 Region 1
Water level is 25.00 meters.
66.67 percent of the region is under water.
 - - -

 Region
Water level is -15.00 meters.
66.67 percent of the region is under water.

通过上面的这些栗子,大概能明白本题的题意了吧!!!

现在就是解决问题的代码:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,m;
double count;
int t=;
while(cin>>n>>m)
{
if(t!=)
cout<<endl;
if(n==&&m==)
break;
t++;
double a[];
double sum=;
double lever=;
double len=;
// double sum1=0;
for(int i=;i<n*m;i++)
{
cin>>a[i];
} sort(a,a+n*m); for(int i=;i<n*m-;i++)
sum+=(a[i+]-a[i])*(i+);
// cout<<"sum: "<<sum<<endl; cin>>count;
count/=; if(sum<=count)
{
lever=;
len=a[n*m-]-a[];
count=count-sum;
len+=count/(n*m);
}
else
{
// lever=count*100/(sum*1.00);
for(int i=;i<n*m-;i++)
{
if((a[i+]-a[i])*(i+)>=count)
{
len+=count/(i+);
lever++;
break;
}
else
{
len+=(a[i+]-a[i]);
count-=(a[i+]-a[i])*(i+);
lever++;
}
}
lever=lever/(n*m)*;
}
len=len+a[];
cout<<"Region "<<t<<endl;
cout<<"Water level is ";
printf("%.2lf",len);
cout<<" meters."<<endl;
printf("%.2lf",lever);
cout<<" percent of the region is under water."<<endl; }
}

uva 815之理解诡异的海平线题目之不容易的更多相关文章

  1. 真正理解javascript的五道题目.

    题目一: if (!("a" in window)) { var a = 1; } alert(a); 题目二: var a = 1, b = function a(x) { x ...

  2. UVa 106 - Fermat vs Pythagoras(数论题目)

    题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...

  3. UVa 10905 - Children's Game 排序,题目没有说输入是int 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  4. 【习题 4-9 UVA - 815】Flooded!

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 题目很迷啊. 不会出现盆地? 可以理解为一条线. 从左往右高度上升的一座座山. 然后V升的水从最左边的山倒进去. 然后问你最后海拔多 ...

  5. 【每日一题】Flooded! UVA - 815 模拟阅读格式题

    https://cn.vjudge.net/problem/UVA-815 题意:给你一个矩阵,每个格子的数代表一个海拔并且每个格子的面积100平方米.给你整个区域的降水量(立方米),问降水量(米). ...

  6. 【每日一题】 UVA - 340 阅读理解+模拟

    https://cn.vjudge.net/problem/UVA-340 题目很难读,差不多读了两天 意思是给你一个n个数的数列,然后有m个询问,每个询问也是一个n个数的数列,让你输出两个数:一个是 ...

  7. uva 558 tree(不忍吐槽的题目名)——yhx

    You are to determine the value of the leaf node in a given binary tree that is the terminal node of ...

  8. UVA 815 Flooded!

    题意:来自:https://blog.csdn.net/lecholin/article/details/70186673 思路: ①数组存每个网格的高度,然后排序,做题时想象为上面的柱状图. ②注意 ...

  9. UVa 815 洪水!

    https://vjudge.net/problem/UVA-815 题意:一个n*m的方格区域,共有n*m个方格,每个方格是边长为10米的正方形,整个区域的外围是无限高的高墙,给出这n*m个方格的初 ...

随机推荐

  1. linux 监控内存介绍

    一:系统监控:1.对cpu的监测:查看进程占用内存情况 top pid user PRI NI size RSS share stat 进程号 进程所属用户 优先级 优先级 进程所占空间 使用物理内存 ...

  2. Blender 安装

    Blender 安装 Blender 安装 windows 上安装 Blender 搞定 Ubuntu Linux 上安装 Blender 搞定 windows 上安装 Blender Step 1 ...

  3. 3D模型浏览器的实现思路

    前段时间正好浏览了数据结构中关于图的部分,突然就意识到一个问题,3D模型就是用无向图来存储的.仔细想一想是不是这样呢? 一个3D模型去掉材质之后剩下的部分就是点以及点和点之间的连线了,点我们用三维坐标 ...

  4. Hadoop的Writerable在Spark无法序列化的问题

    Spark序列化这块网上讲的比较少,自己还没来得及看这块代码,今天编程的时候遇到一个Hadoop的Writerable实现在Spark无法序列化的问题.我的代码如下: object EntryApp ...

  5. Python--详解TKinter类库

    为了学习python3.5的tkinter,于是我去官网找了找相关部件的一些文档,读起来有点绕口,觉得还是自己来实践实践,看看视频感觉用处会更大,然后就有了下面的一部分常用的总结, 查看tkinter ...

  6. 20169219《linux内核原理与分析》第九周作业

    网易云课堂学习 可执行程序的装载 可执行程序的产生过程:预处理-----> 编译 ----> 汇编 ----> 链接 以hello.c文件为例进行分析,编译步骤如下 vi hello ...

  7. C++11新标准:constexpr关键字

    一.constexpr意义 将变量声明为constexpr类型以便由编译器来验证变量是否是一个常量表达式(不会改变,在编译过程中就能得到计算结果的表达式).是一种比const更强的约束,这样可以得到更 ...

  8. 关于Lucene,你至少要知道的事

    1.是什么? 全文搜索引擎 2.干什么? 实现网站全文检索功能(自带语法高亮功能) 3.原理? Lucene生成索引(语法解析后,生成索引文件)-根据索引进行查询(语法解析后,根据解析后的结果进行查询 ...

  9. char 与 unsigned char的区别和取值范围

    1.char和unsigned char 都是一个byte,8个bit.char是无符号类型,首位bit是符号位. 2.取值范围不同: (1)unsigned char的取值范围:0~2^8-1(0~ ...

  10. Vim编辑器的学习

    在老师的带领下,最近也算是涨了见识.自己安装并尝试着体验了Vim的一些基本功能,可能是作为初学者,总感觉其指令太过复杂,就文本编辑而言,给我的最大感受就是神而乎之,一头雾水.目前我对这款编译器的掌握水 ...