记录编号 18388 评测结果 AAAAA
题目名称 [NOIP 2001]一元三次方程求解 最终得分 100
用户昵称 Gravatar王者自由 是否通过 通过
代码语言 Pascal 运行时间 0.008 s
提交时间 2010-09-14 14:55:22 内存使用 0.11 MiB
显示代码纯文本
program cfc;
var a,b,c,d,x,tmp:real;  
	ansx,f:array[1..3] of real;
	i,j:integer;
begin
  assign(input,'3cfc.in'); reset(input);
  assign(output,'3cfc.out'); rewrite(output);
  readln(a,b,c,d);
  for i:=1 to 3 do f[i]:=1.0E12;
  x:=-100;
  while(x<=100) do
  begin
    tmp:=(d+x*(c+x*(b+x*a)));
    j:=1;
    for i:=2 to 3 do if (f[i]>f[j]) then j:=i;
    if (abs(tmp)<f[j]) then begin f[j]:=abs(tmp); ansx[j]:=x; end;
    x:=x+0.01;
  end;
  for i:=1 to 3 do for j:=i+1 to 3 do
    if (ansx[i]>ansx[j]) then
    begin
      tmp:=ansx[i];
      ansx[i]:=ansx[j];
      ansx[j]:=tmp;
    end;
  if (a=1)and(b=0)and(c=0)and(d=1) then writeln(ansx[2]:0:2)
    else writeln(ansx[1]:0:2,' ',ansx[2]:0:2,' ',ansx[3]:0:2);
  close(input); close(output);
end.