在一个二维平面上,有一个顶点分别在 (x0, y0), (x0 + a, y0), (x0, y0 + b) 三点上的三角形 A。
请给出一条平行于 y 轴的直线 L: x = c,使得三角形 A 被直线 L 分成面积相等的两半。
正式地讲,请给出一个实数 c,使得三角形 A 中,坐标小于或等于 c 的点所组成图形的面积 SLeft,与坐标大于 c 的点所组成图形的面积 SRight 相等。
一行,四个整数 x0, y0, a, b ( - 1, 000 ≤ x0, y0 ≤ 1, 000, 1 ≤ a, b ≤ 1, 000)。
表示三角形 A 三个顶点 (x0, y0), (x0 + a, y0), (x0, y0 + b) 所对应的参数。
一个实数 c,需满足 x0 ≤ c ≤ x0 + a,表示一条直线 L: x = c,可将三角形 A 分成面积相等的两半。
但你不需要给出该实数的精确表示,只需要输出一个浮点数,使得它与标准答案的绝对误差或对标准答案的相对误差,不超过 10 - 4,即认为你给出的答案正确。
正式地讲,记你给出的浮点数答案是 c,标准答案为 d,当
,则认为你给出的答案正确。
0 0 1 1
0.2928
347 -685 868 194
601.2313139300767
-110 -319 376 122
0.12785027385811532
第一个样例如下图:
第一个样例的三角形,以及直线 x = 0.2928 第一个样例中,经计算,三角形在直线 x = 0.2928 左侧的面积为 SLeft = (0.7072 + 1)·0.2928·0.5 = 0.24993408,直线右侧面积为 SRight = (1 - 0.2928)·0.7072·0.5 = 0.25006592。
尽管样例的输出 0.2928 并不怎么精确,但是由于 0.2928 与标准答案的绝对误差没有超过 10 - 4,所以给出这样的答案也会被认为是正确的。
| Название |
|---|


