J. День рождения викинга

Имя входного файла: vikings.in
Имя выходного файла: vikings.out
Ограничение по времени: 2 s
Ограничение по памяти: 256 megabytes

Немногие знают, но помимо боевого и трудового топора викинги используют кухонный топор. Сегодня у Хильдсвегсамара Харфагра по прозвищу Кровавый Топор день рождения. Хильдсвегсамар, как всегда, зашел к своей бабушке Одаудлегье подкрепиться и обнаружил, что бабушка испекла огромный круглый торт и положила его на стол. Теперь его необходимо разделить на две части для Хильдсвегсамара и его бабушки.

В семье Харфагров принято делить торты одним ударом топора. После удара топора образуется разрез в том месте, где ударил викинг. Разрез представляет собой отрезок, длина которого не больше длины лезвия топора. Торт оказывается поделен на две части, если разрез соединяет две точки на границе торта. Так как длина топора фиксирована, возможно, торт не удастся разделить на две равные части за один разрез. Поэтому викинги хотят разделить одним разрезом торт так, чтобы им достались по возможности наиболее близкие по площади части.

Хильдсвегсамар быстро догадался, что торт нужно разделить по хорде максимальной длины, не превосходящей длины лезвия, но не может найти где именно нужно резать. Введем на столе прямоугольную декартову систему координат с центром, совпадающим с центром торта. Помогите Хильдсвегсамару найти две точки на границе торта, через которые должен проходить разрез, чтобы разделить торт наиболее честно.

Формат входного файла

В первой строке входного файла даны два вещественных числа R и L – радиус торта и длина лезвия соответственно с не более чем тремя знаками после десятичной точки (1 ≤ R, L ≤ 1000).

Формат выходного файла

Первая строка выходного файла должна содержать координаты первой точки на границе, вторая строка координаты второй точки. Расстояние от точек до центра должно отличаться от R не более чем на 10-6. Расстояние между точками должно отличаться от максимально возможной хорды не превосходящей L не более чем на 10-6.

Пример:

vikings.invikings.out
1.0 2.0 0 -1.0 0 1.0
1.0 1.71 -1.0 0 0.46205 0.886853


Одно из возможных расположений разреза во втором примере.


Источник: Командный чемпионат школьников Карелии по программированию, 4 ноября 2012

Обсудить       Отправить решение



Версия для печати