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

1703. Рука робота

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Problem illustration
Рука робота устроена по тому же принципу, что и человеческая. Она состоит из плеча и предплечья. Плечевой сегмент закреплён в плечевом суставе так, что может вращаться в этом суставе в любом направлении. Предплечевой сегмент соединяется с плечевым в локтевом суставе. Предплечье может поворачиваться относительно плеча вокруг оси, проходящей через локтевой сустав и перпендикулярной плечу и предплечью. Угол сгиба руки в локтевом суставе не может быть острым. На конце предплечевого сегмента имеется клешня, состоящая из двух одинаковых частей, которые могут смыкаться и размыкаться. В момент, когда клешня полностью сомкнута, она может держать цилиндр единичного диаметра. В таком положении ось цилиндра будет параллельна оси локтевого сустава.
Робот увидел рядом с собой цилиндрический поручень бесконечной длины и единичного диаметра. Он разомкнул клешню и хочет схватиться за этот поручень, но так, чтобы клешня могла полностью сомкнуться. Определите, какое положение должна принять рука робота, чтобы он мог сделать это.

Исходные данные

В первой строке указаны числа a и b — длина соответственно плечевого и предплечевого сегментов руки. Во второй и третьей строках указаны координаты двух различных точек, лежащих на оси поручня. Координаты даны в системе отсчёта с центром в плечевом суставе. Поручень не проходит сквозь плечевой сустав. Все числа целые и не превышают по модулю 100; a, b ≥ 4. Толщиной плеча и предплечья следует пренебречь.

Результат

Если не существует положения руки робота, при которой он может сомкнуть клешню на поручне, выведите «No solution.» Иначе выведите координаты локтевого сустава и угол сгиба руки в нём в радианах с максимально возможной точностью. Значение угла должно лежать в диапазоне [π/2, π]. Если существует несколько вариантов решения, выведите любой из них.

Примеры

исходные данныерезультат
8 6
-10 10 0
10 10 0
0 6.4 4.8 1.5707963267948966
5 10
-10 10 0
10 10 0
No solution.
Автор задачи: Павел Атнашев
Источник задачи: XIII чемпионат Урала по спортивному программированию, 4 апреля 2009 г.