题目描述
Kayaking is a naughty boy and he loves to play water. One day, Kayaking finds a bucket. The bottom area of the bucket is S and the height is H. Initially, there is V volume water in the bucket. What makes Kayaking happy is that there are N cube woods beside the bucket. The side length of the i-th cube woods is L[i] and its density is P[i]. Kayaking wants to put all the cube woods to the bucket. And then he will put a cover at the top of the bucket. But CoffeeDog doesn’t allow unless Kayaking can tell CoffeeDog the height of the water in the bucket after Kayaking put all the cuboid woods to the bucket. Could you help him?
It is guaranteed that the cube woods aren’t overlapping. And after putting the wood to the bucket, the bottom of the wood is parallel to the bottom of the bucket.

输入
The first line of the input contains a single integer T denoting the number of test cases. The description of T test cases follows.
The first line of each test case contains a single integer N denoting the number of cube woods.
Then comes N line. Each line has two real numbers L[i] and P[i].
The last line contains three integers S, H and V.

输出
For each test cases, print a single line containing one real number—the height of the water in the bucket(the number should be rounded to the second digit after the decimal point).

样例输入
1
2
1 1.5
1 0.5
5 100 25

样例输出
5.30

提示
T≤10
n≤10^4,P≤6,L≤3,H≤100,L≤H
V,S≤10^7

题意: 有一个圆柱形容器,给出容器底面积,高,容器内水的体积,再给出n个边长为ai,密度为pi的正方体块,把所有块放入容器中,问最后容器中的水位多高。

题解: 可以知道,正方体块放入水中,会根据其密度上浮或者下沉,这决定了正方体块没在水中的体积,这个体积即排水体积,进而影响水位高低。首先明确的是几个物理公式,pv=g,即质量=体积*密度,然后是水的密度是1。就可以做这题了。
我们不关注放进去的过程,什么如果一个个放进去水位会不断抬高,进而一些较大体积的木块会因为水位的抬高而增大浮力,什么水位本身就比一些正方体块低,因此无视密度而只关乎水位的之类的事情都不管,忽略掉,就直接将所有块放入水中。

然后就会出现,一些密度大于等于水的,完全沉底,那么排水体积直接增加正方体块完整体积。若密度小于水,因为水的密度是1,质量和体积数值上相等,因此排出水的体积即正方体块的完整质量。这样根据质量和体积就求出了完整的排水体积,即水的增加体积,用求和得到的体积除以底面积即可得到水位高度,注意如果水位漫过了容器高度,那么结果就是容器高度

#include<bits/stdc++.h>///大于等于水密度的直接完全浸没水中
#define LL long long///否则计算其质量,等于排开水的质量,同时水的密度是1,等于排开水的体积
#define M(a,b) memset(a,b,sizeof a)///直接计算水增加的体积,最后比较一下是否超过桶高度即可
#define pb(x) push_back(x)
using namespace std;
const int maxn=1008;
int t,n;
int main()
{double s,h,v,l,p;scanf("%d",&t);while(t--){scanf("%d",&n);double sum=0;for(int i=1;i<=n;i++){scanf("%lf%lf",&l,&p);if(p>=1.0) sum+=l*l*l;else sum+=l*l*l*p;}scanf("%lf%lf%lf",&s,&h,&v);sum+=v;sum/=s;printf("%.2f\n",sum<h?sum:h);}
}

【2018黑龙江省赛】UPC-7222 Overflow(模拟物理水体积)相关推荐

  1. 18年第十三届黑龙江省赛

    2018年第十三届黑龙江省赛 现在的心情挺神奇的0.0,第一次出去参加ACM比赛,连着两场,黑龙江省赛和东北四省赛,感觉运气还是挺好的,黑龙江省赛(银)铜,东北四省赛铜,最大的感受就是感觉没有想象中的 ...

  2. Android TV 悬浮球模拟物理按键

      最近在体验实习的时候做了一个TV的内存管家,其中有个要求是实现一个悬浮球,模拟TV控制器的按键,实现上下左右,back,menu,home等效果,并且做一个火箭升空的效果.这时候才发现网上有关tv ...

  3. 用缓动函数模拟物理动画

    1.缓动函数简介 <1>缓动函数的动画效果是建立在CALayer层级的关键帧动画基础之上 也就是说用普通的UIView的Animation是无法直接实现缓动函数 <2>缓动函数 ...

  4. Android代码模拟物理、屏幕点击事件

    一.应用中模拟物理和屏幕点击事件 例如,模拟对某个view的点击事件 private void simulateClick(View view, float x, float y) {long dow ...

  5. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.20日(2018省赛A组第8题)

    2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家每天看博客蓝桥杯专栏: htt ...

  6. ue4 无效模拟选项:形体被设置为模拟物理,但启用碰撞不兼容

    可能是由于勾选模拟物理后,但是碰撞未启用: 碰撞预设可选第一个选项,碰撞已启用勾选已启用碰撞

  7. 2018年河北单招计算机试题,2018年河北单招英语模拟试题一【含答案】.doc

    2018年河北单招英语模拟试题一[含答案].doc (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 7.9 积分 2018年河北单招英语模拟试题一[ ...

  8. 在手机上如何模拟计算机考试,2018年计算机一级考试精选模拟题库/手机版:计算机基础及MS Office应用...

    &nbsp&nbsp[导读]: 2018年计算机一级考试精选模拟题库/手机版:计算机基础及MS Office应用,更多全国计算机等级考试模拟试题.复习教材和培训网课,请访问易考吧计算机 ...

  9. 人脸识别——2018华中赛数学建模总结整理

    2018华中赛数学建模总结整理 题目:人脸识别 题目简介 第一题思路 第二题思路 第三题思路 第一题结果 第二题结果 第三题结果 第一题代码 第二题代码 第三题代码 转眼已经大四了,加上也没什么课程, ...

  10. 安徽省学业水平2018考试计算机题,2018年安徽省初中学业水平考试物理试题(附答案)...

    2018年安徽省初中学业水平考试 物理试题 注意事项: 1.物理试卷共四大题23小题,满分90分.物理与化学的考试时间共120分钟. 2.试卷包括"试题卷"(4页)和"答 ...

最新文章

  1. SLAM从0到1——状态估计之最小二乘问题解法:最速下降法、牛顿法、高斯牛顿法、LM法...
  2. C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法
  3. matlab绘制离散数据图
  4. webbench网站压力测试工具的使用方法
  5. ntfs 格式在linux下挂载
  6. JavaWeb开发模式:C/S模式,B/S模式,JSP+JavaBean模式,JSP+Servlet+JavaBean模式
  7. split函数python 未定义_Python之Split函数
  8. 商业化十周年,阿里云RDS推出企业级自治数据库
  9. logisticregression参数_通俗地说逻辑回归【Logistic regression】算法(二)sklearn逻辑回归实战...
  10. 贪婪算法在求解最短路径中的应用(JAVA)--Dijkstra算法
  11. Java学习笔记--导航
  12. 几种经典的hash算法
  13. 今日头条面试题——LRU原理和Redis实现
  14. 阿里云 socket 服务器配置
  15. shell间接变量引用两种方式
  16. 命名空间Microsoft.Office中不存在类型或命名空间名Core
  17. (3.8)一个按键所能涉及的:内核按键标准驱动gpio-keys
  18. Excel学习日记:L23-如何计算成绩排名
  19. css多行文本溢出显示省略号
  20. 推荐一位大神,手握 GitHub 16000 star

热门文章

  1. Information:java: Errors occurred while compiling module
  2. BZOJ2827 : 千山鸟飞绝
  3. 肖博高考数学二轮复习方法之立体几何解题策略-付题型解析
  4. Runtime Error! R6025-pure virtual function call 问题怎么解决
  5. 苹果支付验单java
  6. 关于Arcgis runtime sdk for android加载本地.tpk报错Failed to open file. May not be a valid tile package的解决方法
  7. TSL1.0升级到TSL1.2遇到的问题
  8. 昆仑通泰高级教程_2014-昆仑通态-高级教程.pdf
  9. Java学习-用JDBC通过CURD实现简单的业务,用户登陆,学生管理
  10. 如何从Excel文件创建在线预算报告