【UVA2230】过河

题意

A,B相距D,A,B间有n条河,河宽Li,河的流向完全随机,每条河上有一个速度为vi的船,在河上来回行驶,每条河离A的距离为pi,现在求从A到B时间的期望,步行速度始终为1

分析

因为河的流向完全随机,所以可能等船也可能不等船,等船+过河的时间是3L/V,不等船过河的时间是L/V,所以过所有河的期望时间是∑2*Li/Vi

最后在加上走路时间D-∑Li

代码

#include<bits/stdc++.h>  
using namespace std;  
int n,cas;  
double p,l,v,D;  
int main()  
{  
    while(scanf("%d%lf",&n,&D)&&(n||D))  
    {  
        for(int i=1;i<=n;i++)  
        {  
            scanf("%lf%lf%lf",&p,&l,&v);  
            D=D-l+l*2.0/v;  
        }  
        printf("Case %d: %.3f

",++cas,D);  
    }  
}  
原文地址:https://www.cnblogs.com/NSD-email0820/p/9879138.html