#P15597. [2025年山东第一轮集训] 共情

    ID: 14809 传统题 3000ms 512MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>数据结构计算几何树论LCA算法基础倍增CF2600

[2025年山东第一轮集训] 共情

题目描述

在一个二维平面上有 nn 只蚂蚁,编号为 1,2,,n1,2,\ldots,n

初始时,平面上有一条线段,起点为

(W,10100),(W,-10^{100}),

终点为

(W,10100).(W,10^{100}).

nn 只蚂蚁会按照编号从小到大的顺序依次移动。

ii 只蚂蚁有三个数字 ai,bi,cia_i,b_i,c_i,表示它会从 (0,ai)(0,a_i) 开始,沿一条斜率为

biaiW\frac{b_i-a_i}{W}

的直线向右移动。

在移动过程中,若它触碰到了某条线段,则它会立即停下来并消失。如果 ci=1c_i=1,平面上会画出一条从它开始的位置到消失的位置的线段。

你需要求出,对于每只蚂蚁 ii,它停下的位置的坐标是什么。可以证明,这个坐标的两维都一定是正有理数,所以答案可以写成

(u1v1,u2v2)\left(\frac{u_1}{v_1},\frac{u_2}{v_2}\right)

的形式,其中

gcd(u1,v1)=gcd(u2,v2)=1.\gcd(u_1,v_1)=\gcd(u_2,v_2)=1.

输入格式

第一行,两个正整数 n,Wn,W

接下来 nn 行,每行三个整数 ai,bi,cia_i,b_i,c_i

输出格式

输出 nn 行,每行一个形如 (u1/v1,u2/v2) 的坐标,其中 u1,v1,u2,v2u_1,v_1,u_2,v_2 都是正整数,且 u1,v1u_1,v_1 互质,u2,v2u_2,v_2 互质。

样例输入 #1

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

样例输出 #1

(3/1,2/1)
(3/2,3/2)
(2/1,5/3)
(3/1,2/1)

子任务

对于所有数据:

1n3×105,1\le n\le 3\times 10^5, 1W,ai,bi109,1\le W,a_i,b_i\le 10^9, ci{0,1}.c_i\in\{0,1\}.

保证蚂蚁不会在 x=0x=0 处停下,即每只蚂蚁都会移动非零的距离。

子任务 nn\le 特殊性质 分值
1 50005000 25
2 1.5×1051.5\times 10^5 15
3 3×1053\times 10^5 ai,bi200a_i,b_i\le 200 10
4 ai,bia_i,b_i 随机生成 15
5 aia_i 单调不增
6 20