#P07018. 有理数坐标点排序2
有理数坐标点排序2
题目描述
对提供的 个平面直角坐标系中的坐标点按照点在坐标系所处位置(按照 原点
→ x正半轴
→ 第一象限
→ y正半轴
→ 第二象限
→ x负半轴
→ 第三象限
→ y负半轴
→ 第四象限
依次考虑)排序。对于所处位置相同的坐标,按照与原点距离升序排序,如果还存在位置相同且与原点距离相等的坐标点,要求排序后这些坐标保持最初的相对顺序。需要注意的是,提供的每个坐标点的 和 坐标都是整数分数形式的有理数。
特别提示
注意浮点数运算精度问题,尽量避免浮点数运算。
输入格式
第 行是一个正整数 。
紧接着有 行,每行是 个整数 ,对应的 就是一个有理数坐标点()。
输出格式
有 行,就是排序后的结果,每行一个坐标点,按照 (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)
说明/提示
👀️ 对于 的数据,$n \leq 10000,-100 \leq a,b,c,d \leq 100,b \neq 0,d \neq 0$。