题解 UVA12230 过河 Crossing Rivers

题解 UVA12230 过河 Crossing Rivers

题目翻译

题目大意

从家(A)到公司(B)的直线路段上有 n 条河,每条河有三个信息:和 A 的距离 p、宽度 L,以及船在这条河上的速度 v船在两岸往返。 在陆地上的速度为 1,求出从家到公司的期望时间。

题目思路

对于每条河,有最好和最坏两种情况:

  1. 最好:到达这条河时刚好坐上船,t=Lv

  2. 最坏:到达这条河时船刚刚走,t=3×Lv

仔细思考可以知道,船的发布是均匀的,可以利用期望的线性性质得到每条河的平均过河时间 t=2×Lv

期望的线性性质:

E(X+Y)=E(X)+E(Y)

E(aX)=aE(X)

XY 相互独立时,E(XY)=E(X)×E(Y)

设初始答案 ans 为全走陆地的时间 D
则每次输入时去河的长度 L,加上渡河期望时间 2×Lv 即可。

Code

#include<bits/stdc++.h>
using namespace std;

int n,D;
int p,L,v;
int cnt=0;
double ans;

int main()
{
	while(scanf("%d%d",&n,&D))
	{
		if(n==0&&D==0) break;
		ans=D;
		for(int i=1;i<=n;i++)
		{
			scanf("%d%d%d",&p,&L,&v);
			ans-=L;
			ans+=(double)2*L/v;
		}
		printf("Case %d: %.3lf\n\n",++cnt,ans);
	}
	return 0;
}
posted @   Sure042  阅读(131)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
点击右上角即可分享
微信分享提示