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

Обсуждение задачи 1111. Квадраты

Показать все сообщения Спрятать все сообщения

     for loop:=1 to n do
         begin
              if px in [dat[loop].x1..dat[loop].x2] then
                 begin
                   if py in [dat[loop].y1..dat[loop].y2] then
                    begin dat[loop].nearx:=px; dat[loop].neary:=py; end
                   else
                   if py<dat[loop].y1 then
                    begin dat[loop].nearx:=px; dat[loop].neary:=dat[loop].y1; end
                   else
                   if py>dat[loop].y2 then
                    begin dat[loop].nearx:=px; dat[loop].neary:=dat[loop].y2; end;
                 end
              else
              if py in [dat[loop].y1..dat[loop].y2] then
                 begin
                   if px<dat[loop].x1 then
                      begin dat[loop].neary:=py; dat[loop].nearx:=dat[loop].x1; end
                   else
                   if px>dat[loop].x2 then
                      begin dat[loop].neary:=py; dat[loop].nearx:=dat[loop].x2;
end;
                 end
              else
              if py<dat[loop].y1 then
                 begin
                      if px<dat[loop].x1 then begin dat[loop].nearx:=dat[loop].x1;
dat[loop].neary:=dat[loop].y1; end
                      else
                      if px>dat[loop].x2 then begin dat[loop].nearx:=dat[loop].x2;
dat[loop].neary:=dat[loop].y1; end
                 end
              else
              if py>dat[loop].y2 then
                  begin
                       if px<dat[loop].x1 then begin dat[loop].nearx:=dat[loop].x1;
dat[loop].neary:=dat[loop].y2; end
                       else
                       if px>dat[loop].x2 then begin dat[loop].nearx:=dat[loop].x2;
dat[loop].neary:=dat[loop].y2; end
                  end;
         end;

and then i check the distance from each dat[i].nearx,neary to point