Crossing Rivers UVA

题目大意:
有个人每天要去公司上班,每次会经过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

",++cas,sum);
	}
	return 0;
}

  

原文地址:https://www.cnblogs.com/guangheli/p/10986255.html