AT_kupc2015_k.SOULBLOCK

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你设计了一款游戏,规则如下:

  • 游戏场地是一个二维平面。玩家起始位于原点,场地上分布着若干圆形物体。
  • 每个物体都具有一定的价值。
  • 物体在没有被碰撞之前会保持静止。
  • 游戏一开始,玩家可以选择任意方向进行移动,并沿选定方向一直前行。
  • 当玩家碰到一个静止的物体时,这个物体会在碰撞点上附着在玩家上,并随玩家一起移动。
  • 如果一个运动的物体撞到另一个静止的物体,这两个物体也会粘附在一起,并随玩家继续移动。
  • 最终,所有与玩家直接或间接相连的物体的价值总和就是玩家的得分。

然而,这个游戏被恶意玩家篡改,使得玩家会随机发射到任何方向。请计算在玩家均匀随机选择发射方向的情况下,玩家可能获得的得分的期望值。

输入格式

输入为以下格式:

NN X1X_1 Y1Y_1 R1R_1 W1W_1 : XNX_N YNY_N RNR_N WNW_N

  • 第一行是一个整数 NN,表示物体的数量(1≤N≤20001 \leq N \leq 2000)。
  • 接下来 NN 行,每行包含四个整数 Xi,YiX_i, Y_i (−104≤Xi,Yi≤104-10^4 \leq X_i, Y_i \leq 10^4)、RiR_i(1≤Ri≤1041 \leq R_i \leq 10^4)和 WiW_i(1≤Wi≤1041 \leq W_i \leq 10^4),分别表示第 ii 个物体的中心坐标、半径和价值。
  • 初始时,玩家不会在任何物体的内部或边界上。
  • 初始状态下,任意两个物体之间不相交或接触。

输出格式

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

输入输出样例

  • 输入#1

    1
    2 0 1 1

    输出#1

    0.166666666666667
  • 输入#2

    2
    2 0 1 1
    10 0 1 10

    输出#2

    0.970972899218329
  • 输入#3

    2
    100 0 99 1
    47 85 1 1

    输出#3

    0.584414703195711

说明/提示

部分分

如果能在以下约束条件下正确解决所有数据集,可以获得 30 分的部分分:

  • N≤100N \leq 100

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页