Uva815 Flooded
原题:
本题有多种解法,偏向思维。最主要的是精度问题。
分析:对输入数据进行排序,水会先囤积在低海拔地区,低海拔区域存满后才开始浸入高海拔地区。 所以从海拔最低的地区开始更新最终海拔高度和实时剩余水量,当剩余水量严格大于0时更新淹没区域数量。通过淹没区域面积计算海拔高度。
代码:
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<vector>
#define EPS 1e-7
using namespace std;
int main(void)
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n,m,kase=1;const long long single_S=100;while(cin>>n>>m&&n*m){vector<int> region(n*m);for(int i=0;i<n*m;i++){cin>>region[i];}sort(region.begin(),region.end(),less<int>());double altitude=region[0],rainfall;int sum=1;cin>>rainfall;rainfall/=single_S;for(int i=0;i<n*m;i++){if(i==n*m-1){altitude+=(1.0*rainfall/sum);}else{if(rainfall-sum*(region[i+1]-region[i])>EPS){rainfall-=(sum*(region[i+1]-region[i]));altitude=region[i+1];sum++;}else{altitude+=(1.0*rainfall/sum);break;}}}double percentage=100.0*sum/(n*m);cout<<"Region "<<kase++<<endl;cout<<"Water level is "<<setprecision(2)<<fixed<<altitude+EPS<<" meters."<<endl;cout<<setprecision(2)<<fixed<<percentage+EPS<<" percent of the region is under water."<<endl<<endl;}return 0;
}
Uva815 Flooded相关推荐
- UVa815 - Flooded!
//UVa815 - Flooded! //直接模拟,注意考虑临界情况 #include<cstdio> #include<algorithm> using namespace ...
- 算法竞赛入门经典 UVa815 Flooded!
说实话,刚看到这题有点蒙,没有什么思路,第一个蹦出来的东西居然是定积分那类的东西. 这一题我历经千辛万苦,可是最终还是WA,最开始完成提交之后TLE错误,重新修改了初始化就好了.之后提交是WA错误,发 ...
- 时序分析基本概念介绍--Timing Arc
原标题:时序分析基本概念介绍--Timing Arc 今天我们要介绍的时序基本概念是Timing arc,中文名时序弧.这是timing计算最基本的组成元素,在昨天的lib库介绍中,大部分时序信息都以 ...
- 《算法竞赛入门经典(第2版)》——学习记录
前言: 这里主要记录本人在学习紫书过程中充分理解过的题目的AC代码,便于以后回顾时查找代码和思路,毕竟看别人的真的有点难懂.此外,本书甚至是本书之外的相关知识学习也可能在此留下记录. 作为一只 ...
- UVA815 洪水Flooded
模拟题,排序模拟即可,中间有一个地方写错了结果耽误了一下会儿, #include <bits/stdc++.h>#define fi first #define se second #de ...
- UVA815 洪水! Flooded!
知识点:模拟 19分钟过了,这个题比较像PAT上面的排序模拟题,就是排个序,然后模拟就完事了,首先题目的意思是除了给定的区域,外面是无限高的,就是哪怕你覆盖了所有的区域,那么水面的高度还要上升,然后就 ...
- 【UVA 815 --- Flooded!】
[UVA 815 --- Flooded!] 题目来源:点击进入[UVA 815 - Flooded!] Description To enable homebuyers to estimate th ...
- 815:Flooded!
Flooded! 思路:题目中说了不需要考虑几个坑是分开的那种情况,所以可以将所有的方格由低到高排序排序,从最低的方格开始灌水,如果可以淹没它,增加淹没面积.海拔高度和淹没个数,减少体积,再接着看下一 ...
- Flooded! POJ - 1877 模拟题
Flooded! POJ - 1877模拟题 这篇文章题解写的很好 附上自己的代码 #include<iostream> #include<algorithm> using n ...
最新文章
- Summary Ranges
- cobbler工作流分析
- [C# 网络编程系列]专题十二:实现一个简单的FTP服务器
- ansible--- tags
- HTML5法律律师咨询公司响应式模板
- the railway problem(the example of stack)
- 模板类成员函数特例化写法
- 一维二维_Excel教程:二维转一维,方法你绝对没用过
- java panel paint_java – 如何使用jpanel与paint(或重绘)
- Proteus中8259的仿真[无dos,纯手工]
- 成人教育考试报名照片的尺寸是多少?大一寸照片怎么做?
- 图片云存储(腾讯云 七牛云)
- JAVA编程语言基础第六章
- 关闭colorbox刷新页面
- 【Unicode编码表】UniCode编码表+转化器
- 傅立叶变换的实质-正交之美
- android中的小彩蛋,天天使用的Android手机,你知道隐藏小彩蛋在哪里吗?
- 获取各大电商平台商品详情api(api接口)
- docker容器添加自定义hosts
- 牛客网前端刷题(一)