zoukankan      html  css  js  c++  java
  • UVA12230 过河 Crossing Rivers

    题目描述

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

    输入输出样例

    输入样例#1:

    1 1
    0 1 2
    0 1
    0 0
    

    输出样例#1:

    Case 1: 1.000
    Case 2: 1.000
    

    思路:过一条河最坏用时为(3l/v),即到河边时船正好走了,最优用时为(l/v),即到河边是恰好赶上船。然后因为时间满足线性关系,所以平均期望用时为(2l/v),然后再加上步行需要的用时即可,还有一个比较坑的地方是要输出两个换行符。

    代码:

    #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
    
    ",++js,ans+d);
      } 
      return 0;
    }
    
  • 相关阅读:
    F
    D
    J
    M
    H
    L
    Android线程之间的通讯
    Java4Android基础学习之异常
    Java4Android基础学习之接口
    Java4Android基础学习之包与访问权限
  • 原文地址:https://www.cnblogs.com/grcyh/p/10804314.html
Copyright © 2011-2022 走看看