排队
题号:NC19780
时间限制:C/C++/Rust/Pascal 7秒,其他语言14秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
Special Judge, 64bit IO Format: %lld

题目描述

小贝最近开了一家冰激凌店,她每做一个冰激凌需要D分钟。由于客人很多,她想评估一下客人的等待时间以优化服务方式。假设一天有N个客人,第i个人会在ai分0秒的时刻进店点一份冰激凌,然后开始等待。点餐花费的时间可以忽略不计,小贝会优先给先点餐的客人做冰激凌。同时进店的客人不会同时点餐,他们会随机排队。
假设每个客人只会来消费一次,所有ai都是0 ~ M的随机数,也就是他们会在这M+1个整分时刻随机出现。在这样的情况下小贝想知道客人的平均等待时间是多少。

输入描述:

数据有多组,第一行一个整数T表示数据组数。
每组一行,三个整数N,M,D .

输出描述:

对于每组数据,输出形如"Case #x: y",其中x为这组数据的编号(从1开始),y为这组数据的答案。答案的绝对误差或相对误差在10-6以内都认为是正确的。
示例1

输入

复制
2
3 4 1
5 10 2

输出

复制
Case #1: 0.232
Case #2: 1.0953052139

备注:

1 ≤ T ≤ 20
1 ≤ N ≤ 100
1 ≤ M, D ≤ 1000