#3140. Billiards

0

Billiards

Billiards

题目描述

Takahashi 在二维平面上打台球。xx 轴充当一面墙;当球撞到该轴时,会按入射角等于反射角的规则反弹。 Takahashi 的球现在位于 (Sx,Sy)(S_x,S_y)。当他击球指向某一点时,球会沿着指向该点的直线滚动。 为了使球恰好击中 xx 轴一次然后经过 (Gx,Gy)(G_x, G_y),他应该瞄准 xx 轴上的哪个位置?

输入格式

输入从标准输入按以下格式给出: SxS_x SyS_y GxG_x GyG_y

输出格式

设 (x,0)(x, 0) 为 Takahashi 应该瞄准的点。输出 xx。 当你的输出与我们的答案的绝对或相对误差至多为 10−610^{-6} 时,将被判为正确。

1 1 7 2
3.0000000000
1 1 3 2
1.6666666667
-9 99 -999 9999
-18.7058823529

提示

−106≤Sx,Gx≤106-10^6 \leq S_x, G_x \leq 10^6 0 < S_y, G_y \leq 10^6 Sx≠GxS_x \neq G_x 输入中的所有值均为整数。如下面所示,我们可以通过瞄准 (3,0)(3, 0) 使球经过 (7,2)(7, 2)。 Figure
Figure
当你的输出与我们的答案的绝对或相对误差至多为 10−610^{-6} 时,将被判为正确。

标签: AtCoder|abc183B

来源

AtCoder|abc183B