#P13856. [tenka1_2017]CARtesian Coodinate

[tenka1_2017]CARtesian Coodinate

题目描述

xyxy 平面上有 NN 条直线。第 ii 条直线由 Aix+Biy=CiA_i x + B_i y = C_i 表示。这 NN 条直线与 xx 轴、yy 轴总共 N+2N+2 条直线中,任意两条不同的直线都恰好在一个点相交。

对于所有的 1i<jN1 \leq i < j \leq N,在第 ii 条直线与第 jj 条直线的交点上放置一辆汽车。如果有 kk 条直线在同一个点相交,则在该点会独立地针对每对直线组合放置 k(k1)/2k(k-1)/2 辆车。

所有汽车都非常陈旧,所以每辆车只能在平行于 xx 轴或 yy 轴的方向上移动。

高桥君想在 xyxy 平面上设立一个展览会场地。他希望能最小化将所有汽车移动到会场的总距离的总代价(曼哈顿距离)。如果最优地点不唯一,则选择 xx 坐标最小的点;如果还不唯一,则在前述条件下选择 yy 坐标最小的点。

请输出高桥君最终设立会场的点的坐标。

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 B1B_1 C1C_1 : ANA_N BNB_N CNC_N

输出格式

按顺序输出高桥君设立会场点的 xx 坐标和 yy 坐标,以空格分隔。若绝对误差或相对误差在 10910^{-9} 以下可认为是正确答案。

输入输出样例 #1

输入 #1

3
1 1 1
2 -1 2
-1 2 2

输出 #1

1.000000000000000 1.000000000000000

输入输出样例 #2

输入 #2

4
1 1 2
1 -1 0
3 -1 -2
1 -3 4

输出 #2

-1.000000000000000 -1.000000000000000

输入输出样例 #3

输入 #3

7
1 7 8
-2 4 9
3 -8 -5
9 2 -14
6 7 5
-8 -9 3
3 8 10

输出 #3

-1.722222222222222 1.325000000000000

说明/提示

限制条件

  • 2N4×1042 \leq N \leq 4 \times 10^4
  • $1 \leq |A_i|,|B_i| \leq 10^4 \quad (1 \leq i \leq N)$
  • 0Ci104(1iN)0 \leq |C_i| \leq 10^4 \quad (1 \leq i \leq N)
  • 任意给定的两条直线都不平行
  • 所有输入均为整数

样例说明 1

图中的蓝色圆点表示每辆车的位置。最终所求的坐标即为图中的紫色圆点。

由 ChatGPT 5 翻译