测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7945. Collisions

编程题 普及/提高-

题目描述

On a number line there are $n$ balls. At time moment $0$ for each ball the following data is known: its coordinate $x_{i}$ , speed $v_{i}$ (possibly, negative) and weight $m_{i}$ . The radius of the balls can be ignored.

The balls collide elastically, i.e. if two balls weighing $m_{1}$ and $m_{2}$ and with speeds $v_{1}$ and $v_{2}$ collide, their new speeds will be:

![](/uploads/acgo/image/792b77979f571d93_8650381e7a67.jpeg).Your task is to find out, where each ball will be $t$ seconds after.

输入格式

The first line contains two integers $n$ and $t$ ( $1<=n<=10,0<=t<=100$ ) — amount of balls and duration of the process. Then follow $n$ lines, each containing three integers: $x_{i}$ , $v_{i}$ , $m_{i}$ ( $1<=|v_{i}|,m_{i}<=100,|x_{i}|<=100$ ) — coordinate, speed and weight of the ball with index $i$ at time moment $0$ .

It is guaranteed that no two balls have the same coordinate initially. Also each collision will be a collision of not more than two balls (that is, three or more balls never collide at the same point in all times from segment $[0;t]$ ).

输出格式

Output $n$ numbers — coordinates of the balls $t$ seconds after. Output the numbers accurate to at least 4 digits after the decimal point.

输入输出样例

输入 #1
2 9
3 4 5
0 7 8
输出 #1
68.538461538
44.538461538
输入 #2
3 10
1 2 3
4 -5 6
7 -8 9
输出 #2
-93.666666667
-74.666666667
-15.666666667
上一题 去做题 下一题