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

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

给你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. phper 需要学习js

  2. iOS 本地加载js文件

    #import "RootViewController.h" @interface RootViewController ()<UIWebViewDelegate> @ ...

  3. DPDK内存管理-----rte_mbuf(转)

    本文主要介绍rte_mbuf与rte_mempool数据结构之间的组织关系.以及网卡接收到的数据是如何存储在rte_mbuf中的. 一.rte_mbuf.rte_mempool及网卡收到的数据包在内存 ...

  4. PCL — Point Pair Feature 中层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5971976.html 机器人视觉中有一项重要人物就是从场景中提取物体的位置,姿态.图像处理算法借助Deep Lea ...

  5. 形式化验证工具(PAT)2PC协议学习

    今天我们来看看2PC协议,不知道大家对2PC协议是不是了解,我们先简单介绍一下. 两阶段提交协议(two phase commit protocol, 2PC)可以保证数据的强一致性,许多分布式关系型 ...

  6. jQuery 插件开发——GridData(表格)

    导读:我个人认为做开发最幸福的事之一就是设计一套属于自己的控件,老早之前就想去做这样的事情,一直碍于事件的冲突和个人的想法,最终没有定论,最近难得抽出一些空隙,去完成这件事情.其实自定义控件并不是难事 ...

  7. .NET 一般处理程序使用Session

    .ashx中引用 session必须 using System.Web.SessionState ,继承IReadOnlySessionState/IRequiresSessionState IRea ...

  8. SqlServer压缩数据库日志

    )--数据库名称 )--数据库日志文件名称 --替换成自己的文件名称 select @dbName='dbname' select @dbNamelog='dbname_log' ) set @sql ...

  9. C++: STL迭代器及迭代器失效问题

    转载至:http://blog.csdn.net/wangshihui512/article/details/9791517 迭代器失效: 典型的迭代器失效. 首先对于vector而言,添加和删除操作 ...

  10. metasploit 读书笔记1

    The msfpayload component of Metasploit allows you to generate shellcode, executables, and much more ...