#P16879. [GKS 2022 #C] Ants on a Stick

    ID: 19207 远端评测题 4000ms 1024MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>模拟2022队列Google Kick Start

[GKS 2022 #C] Ants on a Stick

题目描述

Ada 有 NN 只蚂蚁,编号为 11 到 NN。她决定测试 John 的专注力。她取一根长度为 LL 厘米的棍子,并将蚂蚁释放到棍子上。

蚂蚁释放的位置由一个整数数组 PP 表示,其中蚂蚁 ii 被释放的位置为 PiP_i(即距离棍子左端 PiP_i 厘米)。每只蚂蚁以每秒 11 厘米的恒定速度向左或向右移动。蚂蚁的初始方向由数组 DD 表示,其中蚂蚁 ii 的方向为 DiD_i:00 表示向左,11 表示向右。当两只蚂蚁相遇时,它们会弹开并反转方向。蚂蚁到达棍子的任一端时就会掉落。

Ada 挑战 John 找出蚂蚁掉落的准确顺序。John 需要你的帮助!

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。

每个测试用例的第一行包含两个整数 NN 和 LL:蚂蚁的数量和棍子的长度。

接下来的 NN 行描述每只蚂蚁的位置和方向。第 ii 行包含两个整数 PiP_i 和 DiD_i:蚂蚁 ii 的位置和方向。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: A1 A2 ... AN,其中 xx 是测试用例编号(从 11 开始),AiA_i 是第 ii 只掉落的蚂蚁的标签。换句话说,第一个掉落的蚂蚁是标签为 A1A_1 的蚂蚁,第二个是标签为 A2A_2 的蚂蚁,以此类推。如果多只蚂蚁同时掉落,则按标签的升序输出。

3
1 5
1 1
2 7
4 1
5 0
4 10
8 0
2 1
6 1
4 0
Case #1: 1
Case #2: 2 1
Case #3: 1 2 3 4

提示

在样例 #1 中,只有一只蚂蚁(标签为 11),它是唯一掉落的蚂蚁。它掉落的时间为 44 秒。

在样例 #2 中,两只蚂蚁相向而行,在 0.50.5 秒时相遇并反转方向。蚂蚁 22 随后在 33 秒时到达棍子右端,而蚂蚁 11 在 55 秒时到达左端。因此,蚂蚁 22 先掉落,然后是蚂蚁 11。

在样例 #3 中,蚂蚁 22 和 44 相向而行,在 11 秒时相遇。同样,蚂蚁 11 和 33 也相向而行,在 11 秒时相遇。所有 44 只蚂蚁随后改变方向。

  • 蚂蚁 11 和 22 移向棍子的两端,并在 44 秒时掉落。
  • 蚂蚁 33 和 44 相向而行,在 33 秒时相遇。它们改变方向后移向两端,并在 88 秒时掉落。

限制条件

1≤T≤1001 \le T \le 100。

N<LN < L。

对于所有 ii,Di∈{0,1}D_i \in \{0, 1\}。

对于所有 ii,0<Pi<L0 < P_i < L。

所有 PiP_i 互不相同。

测试集 1

1≤N≤101 \le N \le 10。

1≤L≤1001 \le L \le 100。

测试集 2

1≤N≤1031 \le N \le 10^3。

1≤L≤1091 \le L \le 10^9。

测试集 3

1≤L≤1091 \le L \le 10^9。

最多 1515 个测试用例满足:

1≤N≤1051 \le N \le 10^5。

其余测试用例满足:

1≤N≤1031 \le N \le 10^3。

翻译由 DeepSeek V4 Pro 完成