Type: RemoteJudge 2000ms 256MiB

[eJOI2017] 粒子

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

两台相距 LL 的直线粒子加速器相对放置着。加速器 AA 发射 xx 粒子,加速器 BB 发射 yy 粒子。这两种粒子相遇时会碰撞并湮灭。注意,一个 xx 粒子可以超越另一个 xx 粒子,不会发生任何事。对于 yy 粒子也是同理。

在这样的条件下,从 00 时刻开始,A,BA,B 加速器 分别开始发射 NNx,yx,y 粒子。每一个粒子都以一个固定的速度移动。x,yx,y 粒子分别被编号为 1,2,N1,2,\cdots N

注:在时间 tt 内,速度为 vv 的粒子移动的路程为 s=vts = vt

xx 粒子的发射时刻从编号 11NN 分别为:0=tx1<tx2<tx3<<txN0 = tx_1 < tx_2 < tx_3 < \cdots < tx_N,速度分别为:vx1,vx2,vx3,,vxNvx_1, vx_2, vx_3, \cdots, vx_N

相应的, yy 粒子的发射时刻分别为:0=ty1<ty2<ty3<<tyN0 = ty_1 < ty_2 < ty_3 < \cdots < ty_N,速度分别为:vy1,vy2,vy3,,vyNvy_1, vy_2, vy_3, \cdots, vy_N

发射粒子的过程中满足:

  • 每个粒子会碰撞一个相反类型(x,yx,y 粒子互为相反粒子)的粒子。
  • 当两个粒子碰撞时,所有其他粒子到碰撞点的距离将 1\ge 1。在前 KK 次碰撞中,这个条件被满足。

你的任务是,编写一个程序,确定前 KK 次碰撞的粒子对。

输入格式

第一行,三个正整数,由空格隔开:N,L,KN,L,K

接下来 NN 行,每行两个整数:txi,vxitx_i,vx_i

再接下来 NN 行,每行两个整数:tyi,vyity_i,vy_i

输出格式

输出共 KK 行。

每行两个正整数 i,ji,j,表示第 iixx 粒子和第 jjyy 粒子。

ll 行表示第 iixx 粒子和第 jjyy 粒子是第 ll 个发生碰撞的,即输出顺序代表碰撞的先后顺序。

4 100 2
0 1
2 3
3 2
6 10
0 5
3 10
5 1
7 20
4 2
2 4

提示

数据规模与约定

对于所有数据,保证:

  • 1N5×1041 \le N \le 5\times 10^4
  • 1L1091 \le L \le 10^9
  • 1Kmin(102,N)1\le K \le \min(10^2,N)
  • txi,tyi[0,109]tx_i,ty_i \in [0,10^9]
  • vxi,vyi(0,109]vx_i,vy_i \in (0,10^9]

其中,对于 30%30 \% 的数据,有 1N1031 \le N \le 10^3

说明

原题来自:eJOI2017 Problem C Particles

翻译提供:@_Wallace_

妙妙题 eJOI蓝题

Not Attended
Status
Done
Rule
IOI
Problem
13
Start at
2024-11-2 9:15
End at
2024-11-8 9:15
Duration
144 hour(s)
Host
Partic.
25