【UVA2230】过河

题意

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

分析

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

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

代码

  1. #include<bits/stdc++.h>  
  2. using namespace std;  
  3. int n,cas;  
  4. double p,l,v,D;  
  5. int main()  
  6. {  
  7.     while(scanf("%d%lf",&n,&D)&&(n||D))  
  8.     {  
  9.         for(int i=1;i<=n;i++)  
  10.         {  
  11.             scanf("%lf%lf%lf",&p,&l,&v);  
  12.             D=D-l+l*2.0/v;  
  13.         }  
  14.         printf("Case %d: %.3f\n\n",++cas,D);  
  15.     }  
  16. }  

猜你喜欢

转载自www.cnblogs.com/NSD-email0820/p/9879138.html