Crossing Rivers UVA - 12230 概率与期望
题目大意:
有个人每天要去公司上班,每次会经过N条河,家和公司的距离为D,默认在陆地的速度为1,
给出N条河的信息,包括起始坐标p,宽度L,以及船的速度v。船会往返在河的两岸,人到达河岸时,
船的位置是随机的(往返中)。问说人达到公司所需要的期望时间。
考虑每条河的过河时间: $t_{min} =\frac{L}{V}$, $t_{max} =\frac{3L}{V}$
由于每种距离的概率都是相等的,我们可以认为时间的期望就是 $(t_{min}+t_{max})/2$.
Code:
#include<cstdio>
using namespace std;
int main(){
//freopen("in.txt","r",stdin);
int cas=0;
while(1){
double D;int n;
scanf("%d%lf",&n,&D);
double sum=D;
if(D==0)break;
for(int i=1;i<=n;++i){
double p,l,v;scanf("%lf%lf%lf",&p,&l,&v);
sum-=l;
sum+=2.0*l/v;
}
printf("Case %d: %.3f\n\n",++cas,sum);
}
return 0;
}