天天看點

【題解】UVA12230 數學期望

題目連結

首先如果全部步行則期望為D,現在每遇到一條河,求過河時間的期望,等待時間的區間為(0,2*L/v),船在每個地方都是等可能的,是以等待的期望就是(0 + 2*L/v) / 2 = L / v,又過河還要L / v,是以總的渡河期望值為2 * L / v,是以每遇到一條河拿D減去假設步行過河的期望L再加上實際過河期望2 * L / v即可

#include<cstdio>
int main()
{
    //freopen("in.txt","r",stdin);
    int n;
    double d;
    int ca=;
    while(scanf("%d %lf",&n,&d)!=EOF&&(n+d))
    {
        double p,l,v;
        for(int i=;i<n;i++)
        {
            scanf("%lf %lf %lf",&p,&l,&v);
            d=d-l+*l/v;
        }
        printf("Case %d: %.3f\n\n",ca++,d);
    }
    return ;
}