UVA12230 过河 Crossing Rivers
UVA12230 过河 Crossing Rivers
题目大意:有个人准备坐速度为 的船过宽度为 河,船是不断处于往返两个河岸过程中的。当他到达河岸时,船随机在某一个位置。求期望过河时间。
概率和期望入门。
首先我们可以知道过河的最坏情况就是船在对岸,那么这样的话船就要走三趟,时间为 ,最好时就是船刚刚好在当前自己靠岸的位置,时间为 ,所以我们不难得到时间是在 和 之间均匀随机的,所以期望时间就是 。
注意来的时候有一段路程,需要减去。
还有所有的变量均要使用双精度浮点型。
最重要的是:输出要换两次行!!(我也不知道为什么)
code:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,d;
int now=0;
while(cin>>n>>d)
{
now++;
double ans=(double)d;
if(n==0&&d==0)
break;
for(int i=1;i<=n;i++)
{
int p,L,v;
cin>>p>>L>>v;
ans-=(double)L;
ans+=(double)L/v*2;
}
cout<<"Case "<<now<<": ";
cout<<fixed<<setprecision(3)<<ans<<endl<<endl;
}
}