题目地址:https://www.luogu.org/problemnew/show/UVA12230
文字源自:https://www.cnblogs.com/hua-dong/p/8166093.html
题意
有个人每天要去公司上班,每次会经过N条河,家和公司的距离为D,默认在陆地的速度为1, 给出N条河的信息,包括起始坐标p,宽度L,以及船的速度v。船会往返在河的两岸,人到达河岸时, 船的位置是随机的(往返中)。问说人达到公司所需要的期望时间。
解题思路
1,过每条河最坏的情况是t=3*L/v; 即去的时候船刚刚走。 2,过没条河最优的情况是t=L/v; 即去的时候船刚刚来。 3,由于船是均匀发布的,符合线性性质,所以平均下来,过每条河的时间t=2*L/v。
ac代码
#include <iostream>
#include <algorithm>
#include <string.h>
#include <ctype.h>
#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <sstream>
#define maxn 10005
typedef long long ll;
using namespace std;
int main()
{
//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);
int cnt=1,p,l,v,D,n;
while(scanf("%d %d",&n,&D))
{
if(n==0&&D==0) break;
double ans=0;
while(n--)
{
scanf("%d %d %d",&p,&l,&v);
ans+=(2.0)*l/v;
D-=l;
}
ans+=1.0*D;
printf("Case %d: %.3lf\n\n",cnt++,ans);
}
return 0;
}