P1258 小车问题
题目描述
甲、乙两人同时从A地出发要尽快同时赶到B地。出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。
输入输出格式
输入格式:
仅一行,三个数据分别表示AB两地的距离s,人的步行速度a,车的速度b。
输出格式:
两人同时到达B地需要的最短时间,保留6位小数。
输入输出样例
输入样例#1:
120 5 25
输出样例#1:
9.600000
数学
当两个人走的路程一样长的时候,所需要的时间最短
因为如果两个人走的路程不一样长的话,那么必然有一个人走的路程大,又因为步行的速度小,因此,他们两个必然步行的路程相同
#include#include #include #include #include using namespace std;double s,a,b,s1,t;double read(){ double x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar(); return x*f;}int main(){ s=read(),a=read(),b=read(); s1=(a+b)*s/(3*a+b); t=s1/b+(s-s1)/a; printf("%.6lf",t); return 0;}