UOJ Logo 小司码 Online Judge

XSMOJ

第238题   赶飞机

统计 下一题 上一题

题目描述

​ 假设在机场要乘坐的飞机快起飞了,必须立刻赶到登机口。幸运的是,从现在的位置到登机口是一条直线,所以只需要一直跑就行了。不过,因为拿了很多行李,所以最多只能跑t秒,可以连续不停地跑t秒,也可以先跑一段时间再休息一会儿然后再接着跑,甚至可以一直走着一秒都不跑,但是不管怎样,跑步的总时间不能超过t秒。

假设现在位于数轴上0的位置,登机口位于X的位置,每秒能跑r个单位长度,而走路每秒只能走s个单位长度。机场里还有一些传送带,第i个传送带以固定的每秒Wi个单位运行着,当站到上面时速度会加上Wi(即如果是走路,则速度变为s+Wi,如果是跑步,速度就变为r+Wi)。现在的问题是:至少需要多长时间才能到达登机口?

输入格式

​第1行1个整数m,表示测试数据的组数。

对于每组测试数据,第1行输入5个整数x、s、r、t和n。x、s、r、t的意义见问题描述,n表示机场里一共有多少个传送带。

以下n行,每行3个整数,Bi、Ei和Wi分别表示每个传送带的起始位置、结束位置和运行速度。保证任何两个传送带都没有重叠部分。

输出格式

对于每组数据,输出一行“Case #x:y”。其中,x是测试数据的编号,y是你到达登机口的最少时间,精确到小数点后9位,字符串严格匹配。

样例数据

input


3

10 1 4 1 2

4 6 1

6 9 2

12 1 2 4 1

6 12 1

20 1 3 20 5

0 4 5

4 8 4

8 12 3

12 16 2

16 20 1

output


Case #1: 4.000000000

Case #2: 5.500000000

Case #3: 3.538095238

数据规模与约定

时间限制:$3 \text{s}$

空间限制:$256 \text{MB}$