博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2289 Cup (二分)
阅读量:5860 次
发布时间:2019-06-19

本文共 1957 字,大约阅读时间需要 6 分钟。

Cup

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 2356    Accepted Submission(s): 741

Problem Description
The WHU ACM Team has a big cup, with which every member drinks water. Now, we know the volume of the water in the cup, can you tell us it height? 
The radius of the cup's top and bottom circle is known, the cup's height is also known.
 

 

Input
The input consists of several test cases. The first line of input contains an integer T, indicating the num of test cases.
Each test case is on a single line, and it consists of four floating point numbers: r, R, H, V, representing the bottom radius, the top radius, the height and the volume of the hot water.
Technical Specification
1. T ≤ 20.
2. 1 ≤ r, R, H ≤ 100; 0 ≤ V ≤ 1000,000,000.
3. r ≤ R.
4. r, R, H, V are separated by ONE whitespace.
5. There is NO empty line between two neighboring cases.
 

 

Output
For each test case, output the height of hot water on a single line. Please round it to six fractional digits.
 

 

Sample Input
1
100 100 100 3141562
 

 

Sample Output
99.999024
 

 

Source
 

 

Recommend
lcy
 

 

二分

题目大意:一个圆台型的杯子,告诉杯子的上底和下底的半径、杯子的高度,以及水的体积,要求水的高度。
算法分析:

/*

水平面的半径u可以根据直角梯形的面积求出:
(r+u)*h + (u+R)*(H-h) = (r+R)*H
得出(R-r)*h = (u-r)*H
得 u = r + (R-r)*h/H
圆台体积计算公式:V= π*h*( R^2 + R*u + u^2 ) / 3
*/

 
#include
#include
#include
#include
using namespace std;#define eps 1e-8double PI=acos(-1);double r,R,H,V;double cal(double x){ double u=(R-r)*x/H+r; return PI*x*(pow(r,2)+pow(u,2)+r*u)/3;}int main(){ //freopen("input.txt","r",stdin); int t; scanf("%d",&t); while(t--){ scanf("%lf%lf%lf%lf",&r,&R,&H,&V); double left=0,right=H; double mid; while(right-left>eps){ mid=(right+left)/2; if(cal(mid)-V>eps) right=mid; else left=mid; } printf("%.6lf\n",mid); } return 0;}

 

转载地址:http://hnrjx.baihongyu.com/

你可能感兴趣的文章
类似微信首页弹性滚动和惯性滚动效果的实现——OverScroll
查看>>
试读angular源码第一章:开场与platformBrowserDynamic
查看>>
android插件自定义之多渠道打包插件(支持微信资源混淆andResGuard)
查看>>
Win实用好用软件清单推荐
查看>>
一道关于面向对象面试题
查看>>
程序员的商业模式
查看>>
Vue双向绑定实现
查看>>
阿里数据库内核月报:2017年06月
查看>>
使用html5做的环形进度条
查看>>
如何写一份更好的简历
查看>>
web端播放m3u8视频流注意事项
查看>>
http浅析
查看>>
算法基础-希尔排序
查看>>
面试官: css3动画了解吗? 我: .......
查看>>
使用ConcurrentHashMap一定线程安全?
查看>>
【Laravel-海贼王系列】第十七章,Laravel 那些骚操作
查看>>
长春净月初二化学作业辅导班效果如何/哪里的老师教学好?
查看>>
webpack基础配置
查看>>
php之正则表达式函数总结
查看>>
Web前端-Ajax基础技术(下)
查看>>