QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 256 MB مجموع النقاط: 100

#5644. 平滑花园

الإحصائيات

Flathead Fancy Landscaping Company 的客户们非常讲究,他们无法接受带有笔直边缘的花园。因此,公司老板 Joe P. Flathead 想出了一种平滑轮廓的方法。他在三角形地块的每个角上各放置一根木桩,并在三根木桩周围套上一圈绳子。然后,他利用绳圈内的第四根木桩,将绳子拉紧,从而勾勒出一个平滑的三角形版本(见下图,细线表示绳子的不同位置)。这个过程类似于你在中学学到的用 2 个图钉、一段绳子和一支铅笔画椭圆的方法,只不过 J.P. Flathead 使用的是三根木桩(而不是两根)、一根绳子和另一根木桩(而不是铅笔)。

绳圈越长,轮廓就越平滑(见下文示例):

为了确定花园需要多少土壤和植物,Joe 需要计算出所得平滑轮廓的面积。

对于本题,你需要编写一个程序,输入三角形顶点的坐标和绳圈的长度,并输出平滑区域的面积。坐标系的选择使得第一个顶点位于原点 $A(0, 0)$,x 轴位于从第一个顶点到第二个顶点 $B(B_x, 0)$ 的直线上,最后一个顶点 $C(C_x, C_y)$ 位于 x 轴上方。

输入格式

输入的第一行包含一个十进制整数 $P$ ($1 \le P \le 10000$),表示随后数据组的数量。每组数据应被独立且相同地处理。

每组数据由单行输入组成。它包含数据组编号 $K$,后跟一个空格,再后跟 4 个浮点数值 $B_x, C_x, C_y$ ($B_x > 0, C_y > 0$) 以及绳长 $L$(单位均为英尺)。

输出格式

对于每组数据,输出一行。输出行包含数据组编号 $K$,后跟一个空格,再后跟平滑区域的面积(单位为平方英尺),精确到小数点后 2 位。

样例

样例输入 1

3
1 4 0 3 13
2 3 -2 3 14.5
3 4 3 3 14

样例输出 1

1 23.49
2 37.46
3 42.24

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.