UVA12230 过河 Crossing Rivers

题目描述

一我的天天须要从家去往公司,而后家与公司的道路是条直线,长度为 \(D\)。 同时路上有 \(N\)条河,给出起点和宽度\(W_i\) , 过河须要乘坐速度为\(V_i\) 的渡船; 船在河中的位置随机,固定往返时间. 且该人在陆地上行走速度为 \(1\) .求该人去公司的路途的指望时间。spa

输入输出样例

输入样例#1:code

1 1
0 1 2
0 1
0 0

输出样例#1:io

Case 1: 1.000
Case 2: 1.000

思路:过一条河最坏用时为\(3l/v\),即到河边时船正好走了,最优用时为\(l/v\),即到河边是刚好遇上船。而后由于时间知足线性关系,因此平均指望用时为\(2l/v\),而后再加上步行须要的用时便可,还有一个比较坑的地方是要输出两个换行符。class

代码:di

#include<cstdio> 
#define dl double 
int n,js; 
dl ans,d,p,l,v; 
int main() { 
  while(scanf("%d%lf",&n,&d)==2) { 
    if(!d) break; 
    ans=0; 
    for(int i=1;i<=n;++i) { 
      scanf("%lf%lf%lf",&p,&l,&v); 
      d-=l; ans+=2*l/v; 
    }
    printf("Case %d: %0.3lf\n\n",++js,ans+d);
  } 
  return 0;
}
相关文章
相关标签/搜索