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

Обсуждение задачи 1348. Пусти козла в огород 2

Help me, pls
Послано Romow Peter 6 июл 2007 00:48
Please help to stupid goat.
My solution:

if AtSegm(A, B, CrossLine(PointsToLine(A, B), PerLine(PointsToLine(A, B), C)))
  then Writeln(NullOrNum(   Dist(CrossLine(PointsToLine(A, B), PerLine(PointsToLine(A, B), C)), C)    -len) : 0 : 2)
  else Writeln(NullOrNum(min(Dist(A, C), Dist(B, C))-len) : 0 : 2);

Writeln(NullOrNum(max(Dist(A, C), Dist(B, C))-len) : 0 : 2);

where
  AtSegm(A, B, C) - point locate on segment
  PerLine(L) - perpendicular of L
  NullOrNum(x) = max(0, x)
  Dist(A, B) - distantion between points A and B
  len - length of rope

Where may be bug?
Re: Help me, pls
Послано awpris 6 июл 2007 05:51
Here there should be still even one "else" ...