1 条题解
-
0
车先送甲去 地(乙朝 地走),中途放下甲去,甲自己走
向B地,车返回接乙,接完乙以后开往甲地,最后同时到达。
可以列出方程: 解:设甲需要走 的距离
因为甲走路的时间=乙坐车的时间-车返回接乙的时间
所以 则;
解得;
那么时间;
可以直接根据式子求出结果:
#include<cstdio> #include<cmath> #include<cstring> #include<cstdlib> #include<algorithm> #include<iostream> using namespace std; int main(){ double a,b,s,x; cin>>s>>a>>b; x=(2*a*s)/(3*a+b); printf("%.6lf",x/a+(s-x)/b); return 0; }
也可以二分找答案:
#include<cstdio> #include<cmath> int main() { double s,s1,s2,v1,v2,t1,t2,p; double a,b; scanf("%lf%lf%lf",&s,&v1,&v2); s1=0; s2=s; do { p=(s1+s2)/2.0; a=p/v2; b=(p-a\*v1)/(v1+v2); t1=a+(s-p)/v1; t2=a+b+(s-(a+b)\*v1)/v2; if(t1<t2) s2=p; else s1=p; } while(fabs(t1-t2)>1e-8); printf("%.6lf",t1); return 0; }
- 1
信息
- ID
- 134
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 32
- 已通过
- 16
- 上传者