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

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

You want solve? See!
Послано Lifanov 6 апр 2005 15:37
// find distance between line Ax,Ay Bx,By and point X,Y
double R(double Ax,double Ay,double Bx,double By){
    double r1,r2;
    double x=(Ax+Bx)/2.0;
    double y=(Ay+By)/2.0;
    do{//(fabs(Ax-Bx)>E1 || fabs(Ay-By)>E1){ -> WA 3
        x=(Ax+Bx)/2.0;
        y=(Ay+By)/2.0;
        r1=len(Ax,Ay,X,Y);
        r2=len(Bx,By,X,Y);
        if(r1>r2){
            Ax=x;
            Ay=y;
        }else{
            Bx=x;
            By=y;
        }
    }while(fabs(r1-r2)>E1);
    return (len(x,y,X,Y));
}
when we find distance between P and some line(Ax Ay Bx By) we must compare r1 and r2!
Sorry for my english.
P.S E1=1.0e-10