CF681E Runaway to a Shadow
题目描述
Dima 住在一间宿舍里,和一些蟑螂一起。
在时刻 $0$,Dima 看到一只蟑螂在桌子上跑动,并决定要把它打死。Dima 需要恰好 $T$ 秒来瞄准,然后他会精确地袭击并消灭这只蟑螂。
为了生存,这只蟑螂必须在 $T$ 秒内跑进桌上某只盘子投下的圆形阴影里。每个盘子投下的阴影都是一个圆形。阴影圆可以任意地相交、嵌套或重叠。
蟑螂采取如下策略:它首先等概率地随机选择一个方向,然后以恒定速度 $v$ 朝这个方向奔跑。如果在某个时刻 $t \leq T$ 内它到达了某个阴影圆,它就会立即停在阴影中,从而幸存下来。否则,蟑螂就会被 Dima 精确打击杀死。假设 Dima 的打击是瞬时的。
请你计算这只蟑螂能够存活的概率。
输入格式
输入的第一行为四个整数 $x_0$、$y_0$、$v$、$T$($|x_0|,|y_0| \leq 10^9$,$0 \leq v,T \leq 10^9$),表示蟑螂初始在直角坐标系下的位置、蟑螂的速度以及 Dima 瞄准需要的时间。
接下来一行包含一个整数 $n$($1 \leq n \leq 100000$),表示投下阴影的盘子数目。
接下来的 $n$ 行,每行包含三个整数 $x_i$、$y_i$、$r_i$($|x_i|,|y_i| \leq 10^9$,$0 \leq r_i \leq 10^9$),表示第 $i$ 个阴影圆心的坐标和半径。
假设桌子足够大,蟑螂不会因为跑到桌沿而避免 Dima 的高速打击。
输出格式
输出一个实数 $p$,表示蟑螂能够存活的概率。
如果你的输出的绝对误差或相对误差不超过 $10^{-4}$,那么你的答案将被视为正确。
说明/提示
下图为第一个样例的示意图。
 红色区域表示如果蟑螂选择这个方向会被杀死,绿色区域表示能存活的方向。注意,虽然圆心在 $(-2,2)$ 的阴影圆存在一部分红色区域,这是因为蟑螂不能在 $1$ 秒内到达那里。
由 ChatGPT 5 翻译