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; }