P1258 小车问题
题目入口
https://www.luogu.org/problem/P1258
说说我的感想
这就是个小学奥数题
没错,小学奥数都能难倒我了…该好好学数学了…
这第一天的“水题”让我感到难受
解题思想
车只往返一次用时最短 别问我为什么
分析图如下
—x—s-2x—x—
总距离s 人速a 车速b
当乙走x距离,车接甲到x+s-2x处共行驶x+s-2x+s-2x路程与乙汇合,此后车接乙驶向终点于甲同时到达
依此列方程:
x/a = (s-2x+s-x)/b
t = x/a + (s-x)/b
解得x = 2as/(3a+b)
翻译成代码
注意点:均采用double类型
车放在甲后折返时甲在步行前进
AC代码
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
double s, a, b;
scanf("%lf %lf %lf", &s, &a, &b);
double x = 2*a*s/(3*a+b);
printf("%.6lf", x/a+(s-x)/b);
return 0;
}