P1258 小车问题洛谷c++题解

P1258 小车问题

题目描述
甲、乙两人同时从 A 地出发要尽快同时赶到 B 地。出发时 A 地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。

输入格式
仅一行,三个实数,分别表示 AB 两地的距离 s,人的步行速度 a,车的速度 b。

输出格式
两人同时到达 B 地需要的最短时间,保留 6 位小数。

输入输出样例
输入
120 5 25
输出
9.600000

看到这个题目第一个想法就是想到用数学来解题QAQ。
因为要时间最短,所以甲、乙两个人到达的时间一定要是相同的,同时我们也需要考虑车子返回情况(我就是没考虑这个卡了半天—)
我们假设甲先上车并在半路上下车最后一直步行到终点,
这个转折点到起点的距离设为x,在甲坐车期间,乙走的距离为ax/b,到了x点,甲下车了,车子返回而乙继续走,他们是相向行走的,我们设置它们相遇的距离为y,因为乙和车子相遇时间相同,可列方程(y-ax/b)/a = (x-y)/a,解出来y = (2ax)/(a+b),
因为甲乙到达时间相同,所以甲走路的时间(s-x)/a
与车子回去接乙和乙在车上的时间(x-((2ax)/ÿ

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值