12230

来源:互联网 发布:android 仿淘宝购物车 编辑:程序博客网 时间:2024/06/10 19:56

首先仅仅考虑在平地上移动,所花费的时间的期望也就是在平地上的移动时间。再来考虑在河流上移动的情况,假设河流是从A到B的,长度为L,小船的速度为v,如果到达A点,正好上船,那么这样花费的时间是最少的,花费的时间为L/v,如果不顺利,刚到达A点,小船刚好离开,那么首先要等待小船回来,然后再乘坐小船从A点出发,那么这个时候所花费的时间为(3*L)/v,所以整个时间是在整个区间上面的一个均匀分布,按照均匀分布求出期望即可,具体实现见如下代码:

#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>#include<functional>using namespace std;int n, D;int main(){int Case = 0;while (cin >> n >> D){Case++;if (n == 0 && D == 0) break;double res=0;int sum = 0;int p;double L, v;for (int i = 0; i < n; i++){cin >> p >> L >> v;sum += L;res += (2 * L) / v;}res += (D - sum);cout << "Case " << Case << ": " <<fixed<<setprecision(3)<< res << endl<<endl;}return 0;}