题目链接:点这里
题意:求水杯中水的体积。
思路:推公式。
我猜的ABC和ADE相似(但是不知道证明),可以求出水的另一底面半径。
(路过大牛知道怎么证明或者知道我的是错的一定给提出来啊。)
AC代码:
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <stack>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
#include <set>
#define ll long long
#define llu unsigned long long
using namespace std;
const int maxn = 100010;
const double eps = 1e-8;
const double PI = acos(-1.0);int main(){int T; scanf("%d",&T);for(int cas = 1; cas<=T; cas++){double r1,r2,h,p;scanf("%lf%lf%lf%lf",&r1,&r2,&h,&p);double x = (r1-r2)*p/h+r2;double s = PI*(x*x+r2*r2+x*r2)*p/3;printf("Case %d: %.10lf\n",cas,s);}return 0;
}