记录编号 26005 评测结果 AAAAAAAAAA
题目名称 饥饿的母牛 最终得分 100
用户昵称 Gravatar.Xmz 是否通过 通过
代码语言 C++ 运行时间 0.029 s
提交时间 2011-07-22 15:54:02 内存使用 0.27 MiB
显示代码纯文本
#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <cstdio>

using namespace std;
const double Pi=3.1415926535898;
double ans,L,D,S,j,len;

void solve()
{
	scanf("%lf%lf%lf",&L,&D,&S);
	len=S-sqrt((L/2)*(L/2)+D*D);
	if (S<=D) ans=Pi*S*S;
	else if (len>=0)
	{
		j=atan((L/2)/D);
		ans=len*len*j+S*S*(Pi-j)+Pi*len*len/2+L*D/2;
		if (len<L/2) return ;
		j=acos((L/2)/len);
		ans-=j*len*len-L/2*sqrt(len*len-(L/2)*(L/2));
	}
	else
	{
		j=acos(D/S);
		ans=(Pi-j)*S*S+D*sqrt(S*S-D*D);
	}
}

int main()
{
	freopen("hungry.in","r",stdin);
	freopen("hungry.out","w",stdout);
	int T;
	scanf("%d",&T);
	for (;T;--T)
	{
		solve();
		printf("%0.2lf\n",ans);
	}
	return 0;
}