比赛场次 206
比赛名称 20110722
比赛状态 已结束比赛成绩
开始时间 2013-06-11 08:30:00
结束时间 2013-06-11 11:30:00
开放分组 全部用户
注释介绍
题目名称 饥饿的母牛
输入输出 hungry.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatarcstdio AAAAAAAAAA 0.003 s 0.31 MiB 100
GravatarQhelDIV AAAAAAAAAA 0.003 s 0.31 MiB 100
Gravatarfeng AAAAAAAAAA 0.011 s 0.28 MiB 100
GravatarCAX_CPG EEEEEEEEEE 0.011 s 0.30 MiB 0

饥饿的母牛

★★☆   输入文件:hungry.in   输出文件:hungry.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述

对于去德州圣安东尼奥的旅行,农夫John已经期待很久了,除了将要观看马刺队跟其它NBA队的比赛外,还要去欣赏一下ACM/ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)决赛,然而,还有一个小麻烦:农场上还有一只小母牛,如果他离开的时间太长,小家伙会饿死的。
幸运的是,在他的农舍周围环绕着一大片草地(农舍可以看做一条线段),因此John决定把小母牛拴在农舍前面的一根木桩上,以便它能吃到木桩周围的草。为简便起见,John会保证从木桩到农舍两端的距离相等,下图显示了农舍与木桩的位置关系:

由于John只有一根长度有限的绳子,他想知道牛能吃到草的区域,以便确定他旅行期间牛能否存活,你的任务是写一个程序帮助他。请注意牛不可以穿过农舍。
【输入格式】
输入可能包含若干组数据,第一行是一个整数T(T≤100),即接下来测试数据的个数,每一个测试数据包括3个正整数:L,D,S(L,d,s≤10000),L为农舍这条线段的长度(即上图中线段E1E2的长度),D为木桩到农舍中点的距离(即上图中标记为Pole的点到O点的距离),S表示拴牛的绳子的长度,数据中保证S不超过L与木桩到农舍端点E1的距离和。
【输出格式】

对于每一个测试数据,输出牛能吃到草的区域面积,小数点后保留2位。

【输入样例】
输入文件名:hungry.in
3
2 1 1
2 1 2
2 1 3
输出文件名:hungry.out
3.14
11.23
27.13