二分搜索 HDOJ 2289 Cup
生活随笔
收集整理的這篇文章主要介紹了
二分搜索 HDOJ 2289 Cup
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
題目傳送門
1 /* 2 二分搜索:枚舉高度,計算體積與給出的比較。 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #include <cstring> 7 #include <cmath> 8 using namespace std; 9 10 const int MAXN = 1e3 + 10; 11 const int INF = 0x3f3f3f3f; 12 const double EPS = 1e-8; 13 const double PI = acos (-1.0); 14 double r, R, H, V; 15 double x; 16 17 double cal(double h1) { 18 double u = r + (R - r) * h1 / H; //上底 19 double V1 = PI / 3.0 * h1 * (r * r + r * u + u * u); //圓臺計算公式 20 return V1; 21 } 22 23 int main(void) { //HDOJ 2289 Cup 24 //freopen ("HDOJ_2289.in", "r", stdin); 25 26 int T; scanf ("%d", &T); 27 while (T--) { 28 scanf ("%lf%lf%lf%lf", &r, &R, &H, &V); 29 double mid; 30 double low = 0, upp = H; 31 while (upp - low > EPS) { 32 mid = (low + upp) / 2; 33 if (cal (mid) - V > EPS) upp = mid; 34 else low = mid; 35 } 36 printf ("%.6f\n", mid); 37 } 38 39 return 0; 40 }?
轉載于:https://www.cnblogs.com/Running-Time/p/4676344.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的二分搜索 HDOJ 2289 Cup的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软 .net 你更新这么快IDE vs
- 下一篇: 喵喵记账app安卓(猫咪对你喵喵叫)