ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1351. Хороший гнусмас – мёртвый гнусмас

WA#9
Послано RASTA 18 мар 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
Послано TUSUR_lxn 19 апр 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
Послано MAK 17 фев 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!!!
Послано hoan 5 дек 2010 23:23
Re: WA#9
Послано [SPB]Vladimir Kiselev 14 ноя 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