【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\n\n",++tmp,d);
    }
    return 0;
}
复制代码

 

posted @   rld  阅读(88)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示