$n$ 个机器人在一个周长为 $L$ 圆形跑道上不断对跑道消毒。跑道有一个固定起点 $S$ 。假设机器人 $i$ 现在位于点 $P$ ,那么机器人 $i$ 的位置 $C_i$ 可以用从 $S$ 沿顺时针方向走到 $P$ 的路程表示($0\leq C_i<L$)。
消毒刚刚开始,所有机器人都以 $1$ 单位长度/秒的速度匀速运动。对于机器人 $i$ ,我们用 $W_i$ 表示机器人初始的运动方向,如果 $W_i$ 为 $1$ ,表示机器人按顺时针方向移动;如果 $W_i$ 为 $2$ ,表示机器人按逆时针方向移动。
由于跑道比较狭窄,当两个机器人相遇时,他们都会改变各自的运动方向继续向相反的方向继续消毒。
现在给你每个机器人的初始位置及初始运动方向,你能计算出 $t$ 秒后这些机器人都在哪里吗?
第一行三个整数 $n$ ($1\leq n\leq 50$) ,$L$ ($100\leq L\leq 1000$) ,$t$ ($1\leq t\leq 1000$) ,分别表示机器人的数量,跑道的周长,计算机器人位置时经过的时间。
接下来 $n$ 行,每行两个整数 $C_i$ ($0\leq C_i<L$),$W_{i}$ ($W_i\in\{1,2\}$),表示第 $i$ 个机器人的初始位置和初始运动方向。
保证没有两只机器人初始位置相同。
输出一行 $n$ 个整数,表示每个机器人在 $t$ 秒后的位置。特别地,你需要将这些位置以从小到大的顺序输出。
3 8 3
0 1
3 2
6 1
0 1 3
运动开始 $1.5$ 秒时,第一个机器人和第二个机器人相遇于位置 $1.5$ 。 $0.5$ 秒后,第一个机器人和第三个机器人相遇与位置 $0.5$ 。 又 $0.5$ 秒后,即三秒时,第一、二、三个机器人分别位于位置 $1$、$3$、$0$。
Author : 冯玮琪