Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:64 MB
Statistics

一根长为L的木棍,上面有N只变色龙,它们以1米/秒的速度向左或向右爬行,它们的颜色是K种中的一种。变色龙会一直向左或向右爬行,直到它在端点处掉落,或者是与另一只相遇,如果相遇,它们都会转向180度,然后继续爬行,例如一只颜色为a的变色龙向左爬行,与一只颜色为b 的变色龙向右爬行,相遇时,它们各自向反方向爬行,且向右的颜色变成b,向左的颜色变成(a+b) mod K。
给你变色龙的初始位置,方向和颜色,请统计每一种颜色的变色龙爬行的距离之和。
输入:
第一行三个整数N , K and L ($1<= N<=100 000; 1<= K<=40; 1<= L<=1 000 000$)
接下来N行,每行三个数di($0<=di<=L$)表示离左端点的距离,bi($0<=bi<=k-1$)表示颜色,字母”L”,”D”表示方向。
所有di互异,且按由小到大的顺序给出。
输出:
K行,每行一个数,第i行表示值为i的颜色变色龙爬行的距离之和,保留一位小数。
50%的数据,$N<=3000$;

input
2 3 10
0 0 D
10 1 L
output
10.0
10.0
0.0
input
4 3 7
1 0 D
3 0 D
4 1 L
6 2 D
output
10.0
4.0
1.0
input
4 4 5
1 1 D
3 3 L
4 2 D
5 0 L
output
2.5
4.0
2.5
4.0

样例1中,两只变色龙在中间5米处相遇,转向相反的方向,向右的变色龙相遇后颜色是0向左的颜色是1.