原题:

本题有多种解法,偏向思维。最主要的是精度问题。

分析:对输入数据进行排序,水会先囤积在低海拔地区,低海拔区域存满后才开始浸入高海拔地区。 所以从海拔最低的地区开始更新最终海拔高度和实时剩余水量,当剩余水量严格大于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相关推荐

  1. UVa815 - Flooded!

    //UVa815 - Flooded! //直接模拟,注意考虑临界情况 #include<cstdio> #include<algorithm> using namespace ...

  2. 算法竞赛入门经典 UVa815 Flooded!

    说实话,刚看到这题有点蒙,没有什么思路,第一个蹦出来的东西居然是定积分那类的东西. 这一题我历经千辛万苦,可是最终还是WA,最开始完成提交之后TLE错误,重新修改了初始化就好了.之后提交是WA错误,发 ...

  3. 时序分析基本概念介绍--Timing Arc

    原标题:时序分析基本概念介绍--Timing Arc 今天我们要介绍的时序基本概念是Timing arc,中文名时序弧.这是timing计算最基本的组成元素,在昨天的lib库介绍中,大部分时序信息都以 ...

  4. 《算法竞赛入门经典(第2版)》——学习记录

    前言:   这里主要记录本人在学习紫书过程中充分理解过的题目的AC代码,便于以后回顾时查找代码和思路,毕竟看别人的真的有点难懂.此外,本书甚至是本书之外的相关知识学习也可能在此留下记录.   作为一只 ...

  5. UVA815 洪水Flooded

    模拟题,排序模拟即可,中间有一个地方写错了结果耽误了一下会儿, #include <bits/stdc++.h>#define fi first #define se second #de ...

  6. UVA815 洪水! Flooded!

    知识点:模拟 19分钟过了,这个题比较像PAT上面的排序模拟题,就是排个序,然后模拟就完事了,首先题目的意思是除了给定的区域,外面是无限高的,就是哪怕你覆盖了所有的区域,那么水面的高度还要上升,然后就 ...

  7. 【UVA 815 --- Flooded!】

    [UVA 815 --- Flooded!] 题目来源:点击进入[UVA 815 - Flooded!] Description To enable homebuyers to estimate th ...

  8. 815:Flooded!

    Flooded! 思路:题目中说了不需要考虑几个坑是分开的那种情况,所以可以将所有的方格由低到高排序排序,从最低的方格开始灌水,如果可以淹没它,增加淹没面积.海拔高度和淹没个数,减少体积,再接着看下一 ...

  9. Flooded! POJ - 1877 模拟题

    Flooded! POJ - 1877模拟题 这篇文章题解写的很好 附上自己的代码 #include<iostream> #include<algorithm> using n ...

最新文章

  1. Summary Ranges
  2. cobbler工作流分析
  3. [C# 网络编程系列]专题十二:实现一个简单的FTP服务器
  4. ansible--- tags
  5. HTML5法律律师咨询公司响应式模板
  6. the railway problem(the example of stack)
  7. 模板类成员函数特例化写法
  8. 一维二维_Excel教程:二维转一维,方法你绝对没用过
  9. java panel paint_java – 如何使用jpanel与paint(或重绘)
  10. Proteus中8259的仿真[无dos,纯手工]
  11. 成人教育考试报名照片的尺寸是多少?大一寸照片怎么做?
  12. 图片云存储(腾讯云 七牛云)
  13. JAVA编程语言基础第六章
  14. 关闭colorbox刷新页面
  15. 【Unicode编码表】UniCode编码表+转化器
  16. 傅立叶变换的实质-正交之美
  17. android中的小彩蛋,天天使用的Android手机,你知道隐藏小彩蛋在哪里吗?
  18. 获取各大电商平台商品详情api(api接口)
  19. docker容器添加自定义hosts
  20. 牛客网前端刷题(一)

热门文章

  1. html如何改变图片比例,如何更改图片像素和大小
  2. 计算机打印错误,打印机错误正在打印处理方法,详细教您电脑打印机错误正在打印处理方法...
  3. linux 修改pptp端口,请教pptp修改1723端口的问题
  4. IPAD/IOS 访问限制密码找回方法(设置-通用-访问限制-密码的非刷机找回方法)
  5. 基于tp5的免费开源企业官网系统
  6. 新浪微博开放平台开发总结
  7. c#调用新浪微博开放平台接口
  8. ESP8266 AP模式建立服务器
  9. 第十一届Java B组蓝桥杯真题
  10. mysql多数据源配置