奶牛农场
Description
将军有一个用栅栏围成的矩形农场和一只奶牛,在农场的一个角落放有一只矩形的箱子,有一天将军要出门,他就把奶牛用一根绳子套牢,然后将绳子的另一端绑到了那个箱子不靠栅栏的角上,现在给定箱子的长和宽,绳子的长度,你的问题是计算奶牛能够到达的面积。
Input
有多组测试数据。 每一组数据为一行,三个整数,L(0<=L<=500),M,N(1<=M,N<=500),分别表示绳子的长度,箱子的两边长度。假设农场无限大。
Output
对于每一组测试数据,输出奶牛能够到达的面积,保留两位小数。
Sample Input
1 1 1
Sample Output
2.36
晕、最开始理解错了、
简单题、画下图就知道了。
对于其中一边,分两种情况讨论
(1)
(2)
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
#define PI acos(-1.0) double r,a,b;
double getArea(double n)
{
if(r<=n){
double angel=0.75*PI;
return r*r*angel/;
}
else{
double angel1=acos(n/r);
double angel2=0.75*PI-angel1;
return r*r*angel2/+0.5*n*r*sin(angel1);
}
}
int main()
{
while(scanf("%lf%lf%lf",&r,&a,&b)!=EOF)
{
printf("%.2f\n",getArea(a)+getArea(b));
}
return ;
}