• 【UVa12230】Crossing Rivers


    题目描述

    有个人每天要去公司上班,每次会经过N条河,家和公司的距离为D,默认在陆地的速度为1,给出N条河的信息,包括起始坐标p,宽度L,以及船的速度。船会往返在河的两岸,人到达河岸是,船的位置是随机的(包括方向)。问说人达到公司所需要的期望时间。
    输入

    有多组数据。每组数据第一行有两个数N,D,接下来N行每行包含三个数p,L,v。
    输出

    对于每组数据,输出期望时间,保留三位小数。
    样例输入

    1 1

    0 1 2

    0 1

    0 0
    样例输出

    Case 1: 1.000

    Case 2: 1.000



    题解

    对于每条河,船的情况是随机的,等待的时间在区间 [ 0 , 2 * L / v ] 中,那么期望等待时间为 L / v 。由于过河的时间是 L / v , 那么期望过河时间为 2 * L / v 。

    步行的期望时间为 总路程D - 所有河的总长度 。

    答案为步行的期望时间 + 过河期望总时间 。

    #include<cmath>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    #define ll long long
    
    int tmp,n;
    double d,l,p,v;
    
    int main(){
        while(scanf("%d%lf",&n,&d)==2&&(n||d)){
            for(int i=1;i<=n;i++){
                cin>>p>>l>>v;
                d-=l;
                d+=2*l/v;
            }
            printf("Case %d: %.3lf
    
    ",++tmp,d);
        }
        return 0;
    }
  • 相关阅读:
    预搜索,不匹配;反向预搜索,不匹配
    反向引用 /1, /2...
    贪婪与非贪婪模式
    其他一些代表抽象意义的特殊符号
    修饰匹配次数的特殊符号
    自定义能够匹配 ' 多种字符' 的表达式
    能够与 ' 多种字符' 匹配的表达式
    6)添加带有颜色的那个画板
    5)添加快捷键
    4)记住我的图形
  • 原文地址:https://www.cnblogs.com/rlddd/p/9477818.html
Copyright © 2020-2023  润新知