首页 > 代码库 > 小车问题
小车问题
题目描述
甲、乙两人同时从A地出发要尽快同时赶到B地。出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。
输入输出格式
输入格式:
仅一行,三个数据分别表示AB两地的距离s,人的步行速度a,车的速度b。
输出格式:
两人同时到达B地需要的最短时间,保留6位小数。
输入输出样例
输入样例#1:
120 5 25
输出样例#1:
第一种图片解法
9.600000
车带一个人行驶x公里后 放下人A折回去载另一个人B
A被车运走的时候B也在走 走了aX/b
车返回时 与B相遇于y处 则y-ax/b=(x-y)/b -> y=2ax/(a+b)
则车返回拉人再返回到x所用时间为2((2ax/(a+b)-ax/b)/a)
化简得到最后的式子
(s-x)/a=2(2x/(a+b)-x/b)+(s-x)/b;
另外:
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>//#define maxn 1005using namespace std;double s,a,b;int main(){ cin>>s>>a>>b; double x=(a+b)*s/(b+3*a); printf("%.6f",(x/b+(s-x)/a)); puts(""); return 0; }
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>//#define maxn 1005using namespace std;double s,a,b;int main(){ cin>>s>>a>>b; printf("%.6f",(a+3*b)/(b*(b+3*a))*s); puts(""); return 0; }
小车问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。