#P07018. 有理数坐标点排序2

有理数坐标点排序2

题目描述

对提供的 nn 个平面直角坐标系中的坐标点按照点在坐标系所处位置(按照 原点x正半轴第一象限y正半轴第二象限x负半轴第三象限y负半轴第四象限 依次考虑)排序。对于所处位置相同的坐标,按照与原点距离升序排序,如果还存在位置相同且与原点距离相等的坐标点,要求排序后这些坐标保持最初的相对顺序。需要注意的是,提供的每个坐标点的 xxyy 坐标都是整数分数形式的有理数。

特别提示 注意浮点数运算精度问题,尽量避免浮点数运算。

输入格式

11 行是一个正整数 nn

紧接着有 nn 行,每行是 44 个整数 a,b,c,da,b,c,d,对应的 (ab,cd)(\frac{a}{b},\frac{c}{d}) 就是一个有理数坐标点(b0,d0b \neq 0,d \neq 0)。

输出格式

nn 行,就是排序后的结果,每行一个坐标点,按照 (a/b,c/d) 的形式输出。

输入输出样例

12
1 1 2 -2
-1 1 -2 2
3 3 -1 5
0 1 0 -2
2 2 1 1
-1 -1 -2 2
2 -4 -4 -2
0 10 -5 -2
-4 -8 0 2
0 -4 2 -5
8 -2 0 -4
2 2 -2 4
(0/1,0/-2)
(-4/-8,0/2)
(2/2,1/1)
(0/10,-5/-2)
(2/-4,-4/-2)
(8/-2,0/-4)
(-1/1,-2/2)
(0/-4,2/-5)
(3/3,-1/5)
(2/2,-2/4)
(1/1,2/-2)
(-1/-1,-2/2)

说明/提示

👀️ 对于100%100\% 的数据,$n \leq 10000,-100 \leq a,b,c,d \leq 100,b \neq 0,d \neq 0$。