一:Uva12230Crossing Rivers (數學期望)
題目大意:
有個人每天要去公司上班,每次會經過N條河,家和公司的距離為D,預設在陸地的速度為1,
給出N條河的資訊,包括起始坐标p,寬度L,以及船的速度v。船會往返在河的兩岸,人到達河岸時,
船的位置是随機的(往返中)。問說人達到公司所需要的期望時間。
思路:
1,過每條河最壞的情況是t=3*L/v; 即去的時候船剛剛走。
2,過沒條河最優的情況是t=L/v; 即去的時候船剛剛來。
3,由于船是均勻釋出的,符合線性性質,是以平均下來,過每條河的時間t=2*L/v。
#include <bits/stdc++.h>
using namespace std;
int n;
double d;
int main()
{
double p,l,v;
int cnt=1;
while(~scanf("%d%lf",&n,&d)){
if(n+d==0) break;
double sum = 0.0,ret =0.0;
for(int i =0;i<n;i++){
scanf("%lf%lf%lf",&p,&l,&v);
sum+=l;
ret+=2.0*l/v;
}
ret+=(d-sum);
//會自動四舍五入的
printf("Case %d: %.3f\n\n",cnt++,ret);//再輸出一個空行
}
return 0;
}