hdu2289Cup(神坑题,精度+二分,以半径二分不能过,以高度为二分就过了)
2013-12-15 22:52
162 查看
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
Sample Output
[/code]
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[code]#include<stdio.h> #include<math.h> #define e 0.0000001 #define PI acos(-1.0) double V,r,H,R,h; double cc(double x,double th) { return PI*th*(x*x+x*r+r*r)/3.0; } void ccc(double ans) { double m,l,ri; l=0;ri=100.0; while(l+e<ri) { m=(l+ri)/2.0; if(cc(r+m*(R-r)/H,m)>ans)ri=m; else l=m; } h=m; } int main() { int t; scanf("%d",&t); while(t--) { scanf("%lf%lf%lf%lf",&r,&R,&H,&V); ccc(V); printf("%.6lf\n",h); } }
[/code]
相关文章推荐
- hdu2289Cup(神坑题,精度+二分,以半径二分不能过,以高度为二分就过了)
- ViewPager不能高度自适应?height=wrap_content 无效解决办法
- 建立类cylinder,cylinder的构造函数被传递了两个double值,分别表示圆柱体的半径和高度。用类cylinder计算圆柱体的体积,并存储在一个double变量中。在类cylinder中包
- div+css总结—FF下div不设置高度背景颜色或外边框不能显示的解决方法
- 关于 IOS7下 UITextview的contentsize.height不能准确判断高度
- ff下为什么父容器的高度不能自适应
- ViewPager不能高度自适应?height=wrap_content 无效解决办法
- 【二分贪心+精度问题】F. Pie
- HDU 2899 Strange fuction 二分 + 精度控制
- <转载>如何解决子级用float浮动父级div高度不能自适应的问题
- //二分搜索//精度这辈子也准不了//Cable master------三Z
- POJ 3122-Pie(二分+精度)
- hdu 三部曲 Pie 二分求出最优值,精度很重要
- poj3122--Pie(二分的精度问题)
- hdoj 2899 Strange fuction 【二分查找 注意精度】
- 二分查找中的精度问题
- atitit.dw不能显示正确的百分比高度in dw的解决
- 父DIV的高度不能根据子DIV自动变化的解决方案
- Firefox 及 IE 6.0 遇到 DIV 本文高度不能撑开处理
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题