uva 815之理解诡异的海平线题目之不容易
首先题意:(这个真的令人无奈,题目都看不太明白)
网上百度了一下,就是以下意思:
给你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之理解诡异的海平线题目之不容易的更多相关文章
- 真正理解javascript的五道题目.
题目一: if (!("a" in window)) { var a = 1; } alert(a); 题目二: var a = 1, b = function a(x) { x ...
- UVa 106 - Fermat vs Pythagoras(数论题目)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- UVa 10905 - Children's Game 排序,题目没有说输入是int 难度: 0
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- 【习题 4-9 UVA - 815】Flooded!
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 题目很迷啊. 不会出现盆地? 可以理解为一条线. 从左往右高度上升的一座座山. 然后V升的水从最左边的山倒进去. 然后问你最后海拔多 ...
- 【每日一题】Flooded! UVA - 815 模拟阅读格式题
https://cn.vjudge.net/problem/UVA-815 题意:给你一个矩阵,每个格子的数代表一个海拔并且每个格子的面积100平方米.给你整个区域的降水量(立方米),问降水量(米). ...
- 【每日一题】 UVA - 340 阅读理解+模拟
https://cn.vjudge.net/problem/UVA-340 题目很难读,差不多读了两天 意思是给你一个n个数的数列,然后有m个询问,每个询问也是一个n个数的数列,让你输出两个数:一个是 ...
- 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 ...
- UVA 815 Flooded!
题意:来自:https://blog.csdn.net/lecholin/article/details/70186673 思路: ①数组存每个网格的高度,然后排序,做题时想象为上面的柱状图. ②注意 ...
- UVa 815 洪水!
https://vjudge.net/problem/UVA-815 题意:一个n*m的方格区域,共有n*m个方格,每个方格是边长为10米的正方形,整个区域的外围是无限高的高墙,给出这n*m个方格的初 ...
随机推荐
- 进度条控件JProgressBar的使用
----------------siwuxie095 工程名:TestUI 包名:com.siwuxie095.ui 类名:TestList.j ...
- Python 网络爬虫 007 (编程) 通过网站地图爬取目标站点的所有网页
通过网站地图爬取目标站点的所有网页 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:PyCharm 2016 ...
- 关于photoshop处理图片的自动化
如果打印一个图片我们只需要点击几个按钮就可以完成了,但如果有100多个图片需要打印,那就需要点击几百次按钮,而且这个过程中有很多操作是相同的.能不能简化这个过程呢?是可以的,在photoshop中实现 ...
- CF 1029E Tree with Small Distances
昨晚随便玩玩搞个div3结果浪翻了…… 强烈谴责D题hack数据卡常 考虑到本题中所要求的最短距离不会大于2,所以我们可以把所有结点到$1$的距离通过对$3$取模分类,考虑到直接自顶向下贪心不满足局部 ...
- 《Maven实战》笔记-9-版本管理
一.理想的发布版本,在项目构建时需要满足以下条件: 1.所有自动化测试应当全部通过: 2.项目没有配置任何快照版本的依赖: 3.项目没有任何快照版本的插件: 4.项目所包含的代码已经全部提交到版本控制 ...
- 【转】链接任意目录下库文件(解决错误“/usr/bin/ld: cannot find -lxxx”
netbeans构建项目也出现了同样的问题.猜测是netbeans内部就用的是-l 这种编译方式,所以需要把***.a手动改为lib***.a 原文地址:链接任意目录下库文件(解决错误“/usr/bi ...
- NPOI读取Excel文件
public class ExcelOperator { public static List<DataTable> Read(string fileName) { List<Dat ...
- atcoder/CODE FESTIVAL 2017 qual B/B(dfs染色判断是否为二分图)
题目链接:http://code-festival-2017-qualb.contest.atcoder.jp/tasks/code_festival_2017_qualb_c 题意:给出一个含 n ...
- 用ES6的class模仿Vue写一个双向绑定
原文地址:用ES6的class模仿Vue写一个双向绑定 点击在线尝试一下 最终效果如下: 构造器(constructor) 构造一个TinyVue对象,包含基本的el,data,methods cla ...
- C语言数据结构-顺序线性表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作
1.数据结构-顺序线性表的实现-C语言 #define MAXSIZE 100 //结构体定义 typedef struct { int *elem; //基地址 int length; //结构体当 ...