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

Чемпионат Урала 2015

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

E. 3D-моделирование

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Старшие друзья андроида Васи уже давно занимаются моделированием шестимерных космическиих кораблей. Сам Вася пока далек от такого мастерства — у него только-только начался курс 3d-моделирования. И вот прямо сейчас он делает свое первое домашнее задание.
Задание довольно простое: нужно всего лишь построить 3d-чертеж произвольной детали. Вася уже придумал, какую деталь он хочет нарисовать, представил, как она выглядит, и даже начертил первую прямую. Но что-то пошло не так. Получилась совсем не та прямая, которая была нужна.
Но Вася не унывает, у него уже есть решение этой проблемы. Он планирует мысленно повернуть придуманную деталь так, чтобы прямая, которую он собирался начертить, перешла в имеющуюся прямую. Помогите Васе понять, какой поворот для этого нужно сделать.

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

В первых двух строках даны координаты точек A и B. Эти точки лежат на начерченной прямой. В третьей и четвертой строках даны координаты точек C и D. Эти точки лежат на прямой, которую Вася собирался начертить. Точка A не совпадает с точкой B, точка C не совпадает с точкой D. Все числа на входе целые и не превосходят 1000 по модулю.

Результат

Если искомого поворота не существует, в единственной строке выведите «Impossible». Иначе в первых двух строках выведите координаты точек P и Q, задающих ось поворота, а в третьей α — угол поворота в градусах. Расстояние между P и Q не должно быть меньше 1. Координаты точек P и Q по модулю не должны превосходить 2000. Угол должен лежать в диапазоне [0; 360] и отсчитываться против часовой стрелки, если смотреть из точки P в направлении точки Q. Решение будет считаться верным, если при повороте прямой CD относительно PQ на угол α она переходит в прямую EF, такую что расстояния от точек A и B до прямой EF не превосходит 10−5.

Примеры

исходные данныерезультат
0 0 0
0 1 0
0 0 0
1 0 0
0 0 1
0 0 0
90
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0
270
Автор задачи: Егор Щелконогов (идея — Дмитрий Иванков)
Источник задачи: XIX Открытый чемпионат Урала по спортивному программированию (апрель, 2015)
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 2050. 3D-моделирование