题目链接
题意翻译
一个人每天需要从家去往公司,然后家与公司的道路是条直线,长度为 (D)。
同时路上有 (N) 条河,给出起点和宽度(W_i) , 过河需要乘坐速度为(V_i) 的渡船;
船在河中的位置随机,固定往返时间. 且该人在陆地上行走速度为 1 .求该人去公司的路途的期望时间.
Solution
让我多了一些对于期望的了解。
考虑过每条河流的最坏情况和最好情况.
1.最坏情况: ((3*W_i)/V_i) ; 此时即船刚刚走。
2.最好情况: (W_i/V_i) ; 此时即船刚好来。
由于船的位置随机,所以说其满足期望线性.
所以我们每次过一条河流的期望时间即为: ((2*W_i)/V_i) ;
然后就解决了这个问题.
Code
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,D,dis,p,l,v,Case=0;
double ans;
while(scanf("%d%d",&n,&D)){
if(n==0&&D==0) return 0;
dis=0;ans=0;
while(n--){
scanf("%d%d%d",&p,&l,&v);
ans=ans+2.0*l/v;
D-=l;
}
ans=ans+1.0*D;
printf("Case %d: %.3lf
",++Case,ans);
}
return 0;
}