AT_ddcc2019_final_c 光の反射 (Reflection of Light)
题目描述
在二维平面上,有一个以原点 $(0, 0)$ 为中心、半径为 $1$ 的圆形房间。
在房间里,有一根以点 $(X, Y)$ 为中心且半径为 $R$ 的圆柱。
DISCO 君在房间内且圆柱外的某个点 $(S_X, S_Y)$ 放置了一个光源。
这个光源发出的光可以向所有方向传播。
当光碰到房间的外周或圆柱时,会被吸收,不会反射。
他想知道,通过使用一定数量的镜子反射光线,他能够让光到达房间外周的多大比例。
请对 $t = 0, 1, 2, \ldots, K$ 的每个值回答下面的问题:
- 如果最多可以用镜子改变光线的方向 $t$ 次,那可以让光到达的房间外周所有点都涂成白色。
求房间外周被涂白的比例。(设被涂白的部分长度为 $l$,求比例 $\frac{l}{2\pi}$。)
输入格式
输入数据以如下格式给出:
> $X$ $Y$ $R$ $S_X$ $S_Y$ $K$
输出格式
输出 $K + 1$ 行。其中第 $i$ 行($1 \leq i \leq K + 1$)是 $t = i - 1$ 时的答案。
对于所有的答案,若与判题系统输出的绝对误差不超过 $10^{-4}$ 就视为正确。
说明/提示
- $|X|, |Y|, |S_X|, |S_Y| < 1$。
- $0.01 \leq R < 1$。
- $1 \leq K \leq 10$。
- 圆柱完全位于房间内部,且圆柱与房间外周的最小距离为 $0.05$。
- 光源位于房间内部,且离房间外周的最小距离为 $0.01$。
- 光源位于圆柱外部,且离圆柱的最小距离为 $0.01$。
- $X, Y, R, S_X, S_Y$ 的值最多精确到小数点后 $7$ 位。
- $K$ 是整数。
### 样例说明
当 $t = 0$ 时,光能够到达房间外周的范围是从点 $(0.99476..., 0.10222...)$ 到点 $(-0.99476..., 0.10222...)$ 的圆弧,其弧长为 $2.93678...$。该弧长占整个圆周长的比例为 $\frac{2.93678...}{2\pi} = 0.46740...$。
当 $t = 1$ 时,利用镜子可以让光到达之前 $t = 0$ 时无法到达的所有点。
**本翻译由 AI 自动生成**