1 条题解
-
0
//poj 1927 //sep9 #include <iostream> #include <cmath> #include <cstdio> // 添加缺少的头文件 using namespace std; const double pi=acos(-1.0); int main() { double a,b,c,l; int cases=0; while(scanf("%lf%lf%lf%lf",&a,&b,&c,&l)==4){ if(fabs(a)<1e-6&&fabs(b)<1e-6&&fabs(c)<1e-6&&fabs(l)<1e-6) break; double p=(a+b+c)/2; double S=sqrt(p*(p-a)*(p-b)*(p-c)); double R=S/p; if(l>=a+b+c) printf("Case %d: %.2lf\n",++cases,S); else if(l<=pi*2*R) printf("Case %d: %.2lf\n",++cases,l*l/(4*pi)); else{ double r=R*(2*p-l)/(2*p-2*pi*R);// perimeter of small:2*p-l+2*pi*r double s=S*(r/R)*(r/R); printf("Case %d: %.2lf\n",++cases,S-s+pi*r*r); } } return 0; }
- 1
信息
- ID
- 928
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者