ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

Discussion of Problem 1351. Good Gnusmas – Dead Gnusmas

WA#9
Posted by RASTA 18 Mar 2009 22:19
const
  eps = 1e-9;
var
  a1, b1, a2, b2, x, y, x1, y1, d, x2, y2: real;
  i, n: longint;
Begin
  read(d, x1, y1, x2, y2);
  read(n);
  a1 := y1;
  b1 := -x1;
  a2 := y2;
  b2 := -x2;
  for i := 1 to n do begin
    read(x, y);
    if (abs(x1 - x2) < eps) and (abs(y1 - y2) < eps)
    then begin if (abs(a1 * x + b1 * y) < eps) and (x * x + y * y - eps <= d * d) and (abs(sqrt(x * x + y * y) + sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1)) - sqrt(x1 * x1 + y1 * y1)) < eps)
      then writeln('YES')
      else writeln('NO')
    end
    else if (a1 * x + b1 * y - eps <= 0) and (a2 * x + b2 * y + eps >= 0) and (x * x + y * y - eps <= d * d)
      then writeln('YES')
      else writeln('NO');
  end;
End.

I solve this problem with type longint but it makes no difference...
Re: WA#9
Posted by TUSUR_lxn 19 Apr 2009 08:52
try this:
5 1 0 1 0
1
-1 0

corect is
NO


...and it is more useful to use Longint instead of real to solve this problem. To compare distances use sqr of distances
Re: WA#9
Posted by MAK 17 Feb 2010 11:36
This test helped me
5 0 1 0 1
1
0 1

correct answer: YES
Re: thank you very much TUSUR lxn!!!
Posted by hoan 5 Dec 2010 23:23
Re: WA#9
Posted by [SPB]Vladimir Kiselev 14 Nov 2012 21:27
This test helped me:

1007 20 25 4 5
1
-16 -20

Answer : NO


Edited by author 14.11.2012 21:28