记录编号 |
222886 |
评测结果 |
AAAAA |
题目名称 |
小车问题 |
最终得分 |
100 |
用户昵称 |
VacaTionGOD |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
0.000 s |
提交时间 |
2016-02-05 14:42:42 |
内存使用 |
0.00 MiB |
显示代码纯文本
program car1(input,output);
const zero=1e-4;
var s,a,b,c,c0,c1,t1,t2,t3,t4:real;
BEGIN
assign(input,'car.in');
assign(output,'car.out');
reset(input);
rewrite(output);
readln(s,a,b);
c0:=0;
c1:=s;
repeat
c:=(c0+c1)/2;
t3:=c/b; //甲到K乘汽车用时;也是乙走到C用时。即 乙TAC=甲TAK
t1:=t3+(s-c)/a; //甲到终点用时。即 甲TAB
t4:=(c-t3*a)/(a+b); //乙从C走,车从K来接乙相遇用时。即 乙TCD
t2:=t3+t4+(s-(t3+t4)*a)/b; //乙到终点用时。即 乙TAB
if t1<t2 then c1:=c else c0:=c; //甲的时间短,走得快,则让汽车少载一段甲;乙的时间短,走得快,则让汽车多载一段甲
until abs(t1-t2)<zero;
writeln(t1:0:2);
close(input);
close(output)
end.
var
s,a,b,k,x,t:real;
begin
assign(input,'car.in');
reset(input);
assign(output,'car.out');
rewrite(output);
readln(s,a,b);
k:=s*(a+b)/(3*a+b);
t:=k/b+(s-k)/a;
writeln(t:0:2);
close(input);close(output);
end.