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\n",s1);

31     return 0;

32 }
View Code

 

你可能感兴趣的:(Go)