AT_kupc2015_k SOULBLOCK

题目描述

你设计了一款游戏,规则如下: - 游戏场地是一个二维平面。玩家起始位于原点,场地上分布着若干圆形物体。 - 每个物体都具有一定的价值。 - 物体在没有被碰撞之前会保持静止。 - 游戏一开始,玩家可以选择任意方向进行移动,并沿选定方向一直前行。 - 当玩家碰到一个静止的物体时,这个物体会在碰撞点上附着在玩家上,并随玩家一起移动。 - 如果一个运动的物体撞到另一个静止的物体,这两个物体也会粘附在一起,并随玩家继续移动。 - 最终,所有与玩家直接或间接相连的物体的价值总和就是玩家的得分。 然而,这个游戏被恶意玩家篡改,使得玩家会随机发射到任何方向。请计算在玩家均匀随机选择发射方向的情况下,玩家可能获得的得分的期望值。

输入格式

输入为以下格式: > $N$ $X_1$ $Y_1$ $R_1$ $W_1$ : $X_N$ $Y_N$ $R_N$ $W_N$ - 第一行是一个整数 $N$,表示物体的数量($1 \leq N \leq 2000$)。 - 接下来 $N$ 行,每行包含四个整数 $X_i, Y_i$ ($-10^4 \leq X_i, Y_i \leq 10^4$)、$R_i$($1 \leq R_i \leq 10^4$)和 $W_i$($1 \leq W_i \leq 10^4$),分别表示第 $i$ 个物体的中心坐标、半径和价值。 - 初始时,玩家不会在任何物体的内部或边界上。 - 初始状态下,任意两个物体之间不相交或接触。

输出格式

输出玩家得分的期望值。你可以输出任意多位小数,但绝对误差或相对误差必须小于 $10^{-6}$。

说明/提示

### 部分分 如果能在以下约束条件下正确解决所有数据集,可以获得 30 分的部分分: - $N \leq 100$ **本翻译由 AI 自动生成**