UVa 12230

【类型】

数学期望

【Tip】

每个船的位置都是均匀随机分布,数学期望=∑(i=1,n)每个概率*每个概率的权.

这道题里,用数学期望的线性.过每条河的时间为L/v到3L/v(船过来了,才可以上?)的均匀分布.因此期望过河时间为2L/v.把所有的2L/v加起来,再加上在陆地上行走的时间D-sum(L)即为所求期望.

【Code】

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int n,D,ca=1;
double p,L,v;
int main(){
    while(~scanf(“%d%d”,&n,&D),n+D){
        double time=0;
        for(int i=0;i<n;++i){
            cin>>p>>L>>v;
            if(p!=D){
                time+=2.0*L/v;
                D-=L;
            }
        }
        time+=D;
        printf(“Case %d: %.3lf\n”,ca++,time);
        printf(“\n”);
    }
    return 0;
}