|  | 
|  | 
| back to board | could any one help me with this problem? I always got wa, but i don't know why.here's my program(very simple, perhaps i haven't understood
 the task perfectly):
 Const
 InFile    = '1070.in';
 
 Var
 s1 , e1 ,
 s2 , e2    : real;
 
 procedure readnum_sub(var n : real);
 var
 c    : char;
 begin
 n := 0;
 read(c);
 while not (c in ['0'..'9']) do read(c);
 while (not eoln) and (c in ['0'..'9']) do
 begin
 n := n * 10 + ord(c) - ord('0');
 read(c);
 end;
 if c in ['0'..'9'] then
 n := n * 10 + ord(c) - ord('0');
 end;
 
 procedure readnum(var n : real);
 var
 a , b    : real;
 begin
 readnum_sub(a);
 readnum_sub(b);
 n := a + b / 60;
 end;
 
 procedure init;
 begin
 assign(INPUT , InFile); ReSet(INPUT);
 readnum(s1); readnum(e1);
 readln;
 readnum(s2); readnum(e2);
 {    Close(INPUT);}
 end;
 
 procedure work;
 var
 i    : integer;
 temp , t2    : real;
 begin
 for i := 5 downto -5 do
 if i <> 0 then
 begin
 temp := e1 + i - s1;
 while temp < 0 do
 temp := temp + 24;
 if temp > 6 then
 continue;
 t2 := s2 + i + temp;
 if t2 >= 24 then
 t2 := t2 - 24;
 if abs(t2 - e2) <= 1 / 6 then
 begin
 writeln(abs(i));
 exit;
 end;
 end;
 end;
 
 Begin
 init;
 work;
 End.
 | 
 | 
|