思路
一道简单模拟题。
经过模拟,我们不难发现,牛的活动轨迹是一个椭圆。根据椭圆形面积公式得到 \(S = \pi a b\)。其中,牛可以到的最左边或最右边时 \(a = \frac{l}{2}\),距离中心最远时 \(b = \frac{\sqrt{l^2 - d^2}}{2}\)。
注意
- 有多组测试点,每次都应输出结果并换行。
- 精度问题,使用 cmath 库内的
M_PI
函数解决。 - 输出保留三位小数。
参考代码(请勿抄袭):
#include<bits/stdc++.h>
using namespace std;
int n,d,l;
double a,b;
int main(){
scanf("%d",&n);//有多组数据
for(int i=1;i<=n;i++){//每组数据的处理
scanf("%d%d",&d,&l);
a=l/2.0;
b=sqrt(a*a-(d/2.0)*(d/2.0));
printf("%.3lf\n",M_PI*a*b);
}
return 0;
}
标签:frac,Cow,int,题解,UVA10678,Grazing
From: https://www.cnblogs.com/CodeFishHp/p/17639142.html