题意
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\n\n",++cas,D);
- }
- }
【UVA2230】过河
原文:https://www.cnblogs.com/NSD-email0820/p/9879138.html