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.
InputThe input consists of several test cases. The first line of input contains an integer T, indicating the num of test cases.
The radius of the cup's top and bottom circle is known, the cup's height is also known.
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.
OutputFor 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 3141562Sample Output
99.999024
by talk:这道题我们选择高度来二分,这道题的杯子就是个圆台,然后圆台体积公式=1/3*π*(r²+R²+rR).定一个上端点top=100,下端点bottom=0.不断二分找水的高度。不过二分以后那个上部分大的圆的半径又是多少呢?如图所示:u=r+? 然后绿色三角形与红色三角形相似,利用比例关系:?/(R-r)=mid/h 然后求出?=mid*(R-r)/h. 然后u=r+?=r+mid*(R-r)/h.