#P16993. [SGU469] Ghostbusters

[SGU469] Ghostbusters

题目描述

一个长方体收容所的两个对角顶点为 (0,0,0)(0,0,0)(W,H,D)(W,H,D)。其中已有 NN 个球形幽灵,第 ii 个幽灵的球心为 (Xi,Yi,Zi)(X_i,Y_i,Z_i),半径为 RiR_i

现在要放入一个新的球形幽灵。新幽灵必须完全位于收容所内部,不能与任何已有幽灵相交,但允许与墙面或已有幽灵相切。旧幽灵之间可以相交,也可以伸出收容所边界;保证每个旧幽灵至少有一部分位于收容所内。

请找出一个新幽灵球心,使得在该点能够放置的合法球半径尽可能大。

输入格式

第一行三个整数 W,H,DW,H,D,表示长方体尺寸。原题尺寸均为正整数且不超过 1000。

第二行一个整数 NN0N100\le N\le10

接下来 NN 行,每行四个数 Xi,Yi,Zi,RiX_i,Y_i,Z_i,R_i

  • 1000<Xi,Yi,Zi<2000-1000<X_i,Y_i,Z_i<2000
  • 0Ri10000\le R_i\le1000

半径为 0 的幽灵视为一个点,新幽灵也不能包含这个点。保证存在半径严格为正的合法新幽灵。

输出格式

输出三个实数 x,y,zx,y,z,表示新幽灵球心。若以该点为中心能够放置的最大合法半径与全局最优半径之差不超过 0.0010.001 米,则答案正确。

样例

9 13 15
2
3 9 6 1
4 8 3 5
5 4 11