分身术
题目描述
分!身!术!
竞技场修复好了,国王非常高兴,决定组织野蛮人进行滚桶表演。
首先,国王使用克隆法术,制造出了n个野蛮人滚桶。
其次,国王选择了二维平面上的一个矩形区域作为舞台。矩形的四个角分别为(0,0),(w,0),(w,h),(0,h)。
每个野蛮人滚桶都有三个属性,分别是出发位置,滚动方向和出发时间。出发位置一定在坐标轴上,在舞台内,且不在原点。滚动方向是根据出发位置决定的,出发位置在x轴上的滚桶都向上滚动,出发位置在y轴的滚桶都向右滚动。所有滚桶的速度都是一单位长度每秒。
显然,向右的滚桶和向上的滚桶可能会撞在一起,这个时候,他们按照下图的规则改变方向,然后继续滚动。改变方向不消耗时间。
当滚桶到达舞台边缘的时候就会停下来,显然每个滚桶最终都会停下来,所以,国王想请你求出,每个滚桶停下来的时候的坐标,显然这个坐标一定在矩形的边缘上。
输入格式
第一行三个正整数n,w,h。
接下来n行,每行三个整数g,p,t,g表示滚桶的滚动方向,1为向上滚动,2为向右滚动,p为滚桶的出发位置到原点的距离,t为滚桶的出发时间。
保证不存在两个滚桶,他们的g,p,t全都相同。
输出格式
输出n行,每行两个数字,第i行表示第i个滚桶最终停的位置的坐标。
数据范围
本题有20个测试点。
- 对于前20%的数据,n<=2。
- 对于前40%的数据,n<=1000。
- 对于另30%的数据,所有g=2的滚桶都一定满足t=p。
- 对于100%的数据,n∈[1,1e5],w和h∈[2,n],g∈[1,2],p保证出发位置一定在舞台内- 且不在上边缘或者右边缘,t∈[0,n]。