Давным-давно в одной далёкой-предалёкой галактике…
Ладно, вступительные титры пропустим,
всё равно вы все их и так знаете, а я наизусть не помню.
В общем, жила-была космическая станция под названием "Death star" ("Звезда смерти").
Для тех, кто не знает, или забыл, напомним — больше всего она была похожа на огромный металлический мяч. И вся его поверхность была усеяна боевыми турелями. А между турелями встречались поднятые на специальные мачты маневровые двигатели, при помощи которых станция поворачивалась. Все двигатели были одинаковые, криптоновые, с автономным питанием, и мачты у всех двигателей были одинаковые. Не беда, что двигатели могли находится только в двух состояниях: выключен и максимальная тяга, зато каждый двигатель можно было индивидуально повернуть в любую сторону относительно станции.
И вот однажды, во время очередной космической заварушки, кабель управления двигателями расплавился. Все двигатели, что были в этот момент включены, так и остались включенными. В той заварушке станция победила, но постоянно включенные маневровые двигатели дали необычный эффект — станция вместо гордого и плавного поступательного движения выписывает по космосу совершенно неподобающие ей кренделя.
Это очень, нет — ОЧЕНЬ раздражает Императора.
Мало того, ему кажется, что станция вращается все быстрее и быстрее.
Вам придется исправить ситуацию как можно скорее, иначе последствия трудно предсказать.
На ремонт кабеля управления уйдет не меньше недели, а голова у Императора кружится уже сейчас. Надо срочно, нет — ОЧЕНЬ СРОЧНО установить на запасной мачте найденный на складе старенький твердотопливный двигатель, чтобы станция прекратила вращаться.
Придётся решать сложные дифференциальные уравнения и писать сложную программу управления двигателем? Нет, курсант, пора бы уже знать, что тяга твердотопливного двигателя не изменяется в процессе работы, она зависит только установленного на него заранее сопла. Поэтому надо подобрать необходимое сопло, выставить фиксированное направление двигателя и включить. Пусть этот двигатель хотя бы не даст криптоновым раскручивать станцию сильнее, чем она крутится сейчас.
Исходные данные
В первой строке даны технические характеристики станции. Вообще-то это секретные данные, но нам придётся их дать, поскольку иначе Вы точно не справитесь со своей задачей.
Сначала дан радиус станции в метрах (от 100 до 2000), общая масса станции в килограммах (до 40000000, Вы можете считать, что она распределена по станции равномерно), далее дана высота стандартной мачты маневрового двигателя над поверхностью станции в метрах
(твердотопливный двигатель подвесят на такой же, причем разместить его мачту вы можете в любой точке поверхности станции).
Далее идет информация о работающих криптоновых двигателях. Первым идет число F — стандартная тяга криптонового двигателя в ньютонах (от 1 до 100000),
затем целое число N (1 ≤ N ≤ 9) — количество включенных сейчас криптоновых двигателей.
В следующих N строках указывается по 4 числа в каждой. Первая пара чисел в строке — это долгота (от 0 до 360) и широта (от −90 до +90) точки крепления i-го двигателя в градусах (относительно станции, конечно). Вторая пара чисел определяет направление работы двигателя относительно станции — если приложить вектор тяги двигателя к центру станции, то эти два числа есть долгота и широта точки выхода вектора из поверхности станции.
Результат
Выведите 5 чисел с точностью восемь знаков после десятичной точки, а именно: координаты места установки (два числа) и направление вектора тяги (ещё два числа) нового двигателя и необходимую его тягу в ньютонах. Координаты и направление вектора тяги выведите в том же формате, что и входные данные. Если возможных точек размещения несколько, выведите ту, в которой необходимая тяга минимальна.
Пример
исходные данные | результат |
---|
100.3 1000000.45 15.5
156.5 1
0.0 0.0 90.0 0.0
| 0.00 0.00 270.00 0.00 156.50
|
Автор задачи: Павел Егоров (идея — Александр Мироненко)
Источник задачи: IX Чемпионат Урала по программированию. Екатеринбург, УрГУ, 19-24 апреля 2005г.