ural 1084 Goat in the Garden

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <algorithm>
 5 using namespace std;
 6 const double pi=acos(-1.0);
 7 
 8 int main()
 9 {
10     double a,r;
11     scanf("%lf%lf",&a,&r);
12     if(a>=r*2) printf("%.3lf
",pi*r*r);//绳子形成的圆在正方形内
13     else if(r>=sqrt(2)*a/2) printf("%.3lf
",a*a);//正方形在圆内
14     else
15     {
16         double a1=a/2.0/r;
17         double s1=sqrt(1-a1*a1);
18         double ji=atan(s1/a1);
19         double s=r*s1*a/2.0*4+(pi/2-ji*2)*r*r/2.0*4;
20         printf("%.3lf
",s);
21     }
22     return 0;
23 }
View Code
原文地址:https://www.cnblogs.com/fanminghui/p/3605140.html