題目連結
首先如果全部步行則期望為D,現在每遇到一條河,求過河時間的期望,等待時間的區間為(0,2*L/v),船在每個地方都是等可能的,是以等待的期望就是(0 + 2*L/v) / 2 = L / v,又過河還要L / v,是以總的渡河期望值為2 * L / v,是以每遇到一條河拿D減去假設步行過河的期望L再加上實際過河期望2 * L / v即可
#include<cstdio>
int main()
{
//freopen("in.txt","r",stdin);
int n;
double d;
int ca=;
while(scanf("%d %lf",&n,&d)!=EOF&&(n+d))
{
double p,l,v;
for(int i=;i<n;i++)
{
scanf("%lf %lf %lf",&p,&l,&v);
d=d-l+*l/v;
}
printf("Case %d: %.3f\n\n",ca++,d);
}
return ;
}