#P4691. Let There Be Light

Let There Be Light

题目描述

假设三维空间里有一些光源和球型气球。光源可以视为点光源,它们都会向任何方向发射光线。气球表面可以吸收光线并且不反射光线,令人惊讶的是在这个世界里气球可以重叠。你希望某个定点的总光照强度足够高。因此你需要移走一些妨碍光线的气球。由于移除的成本问题,你能移走的气球数量是有限制的。因此你希望适当地移走一些气球,从而最大化定点的总光照强度。

输入格式

输入包含多组测试数据。 每组数据的第一行包含三个正整数 N,MN,MRR,其中 NN 表示气球的数量(不超过2000),MM表示光源的数量(不超过15),RR表示可以移除的气球数量(不超过 NN)。 接下来 NN 行,每行四个整数,前三个整数表示一个气球中心的坐标,第四个整数表示这个气球的半径。 接下来 MM 行,每行四个整数,前三个整数表示一个光源的坐标,第四个整数表示这个光源的亮度。 接下来一行包含三个整数,表示定点的坐标。

输出格式

对于每组测试数据,输出一行包含一个实数表示最大的光照强度, 你的输出与答案的绝对误差不超过 0.0010.001 时被认为是正确的。

输入样例

2 2 1
0 0 0 1
0 0 1 1
0 0 0
0 0 0 1
0 1 0 1
0 0 0

输出样例

2.5

数据范围

对于 100%100\% 的数据,坐标大于-500且小于500,半径大于0且小于500,光照强度大于0且小于80000。