ural 1874 Football Goal

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <algorithm>
 5 using namespace std;
 6 const double eps=1e-9;
 7 
 8 double getarea(double a,double b,double c)
 9 {
10     double p=(a+b+c)/2.0;
11     return (c*c/4+sqrt(p*(p-a)*(p-b)*(p-c)));
12 }
13 
14 int main()
15 {
16     double x,y;
17     scanf("%lf%lf",&x,&y);
18     double l=x+y,r=sqrt(x*x+y*y),s1;
19     while(fabs(r-l)>eps)
20     {
21         double mid1=(r+l)/2;
22         double mid2=(mid1+l)/2;
23         s1=getarea(x,y,mid1);
24         double s2=getarea(x,y,mid2);
25         if(s1>s2)
26         l=mid2;
27         else
28         r=mid1;
29     }
30     printf("%.9lf
",s1);
31     return 0;
32 }
View Code
原文地址:https://www.cnblogs.com/fanminghui/p/3605993.html