Замовлення від землевпорядника
Обмеження: 2 сек., 256 МіБ
Якщо ви читаєте HTML-версію умови цієї задачі, перемкніться, будь ласка, на PDF. Єдиною різницею між цими версіями є розташування зображень на сторінці — в HTML-версії вони відображаються неправильно.
До компанії Зеника й Марічки PLVIV звернувся із замовленням землевпорядник.
На плані місцевості є дві різні прямі \(a\) та \(b\) і точка \(C\), що не лежить на жодній із цих прямих. Землевпоряднику потрібно поставити паркан, що задовольняє такі умови.
Паркан на плані місцевості — це відрізок \(AB\).
Точка \(A\) повинна лежати на прямій \(a\).
Точка \(B\) повинна лежати на прямій \(b\).
Точка \(C\) повинна бути серединою відрізка \(AB\).
У цій задачі можливі три випадки: розв’язків не існує, існує єдиний розв’язок або існує безліч розв’язків.
Напишіть для землевпорядника програму, яка розрізняє ці три випадки. Якщо розв’язок єдиний, то програма повинна знайти точки \(A\) і \(B\) — кінці паркана.
Вхідні дані
У першому рядку задано чотири цілі числа \(x_1\), \(y_1\), \(x_2\), \(y_2\). Пряма \(a\) проходить через точки \((x_1, y_1)\), \((x_2, y_2)\). Гарантується, що \((x_1, y_1) \ne (x_2, y_2)\).
У другому рядку задано пряму \(b\) в такому самому фоматі.
У третьому рядку задано два цілі числа \(x_C\), \(y_C\) — координати точки \(C\).
Вихідні дані
Якщо не існує жодного розв’язку, виведіть
No solutions
.
Якщо розв’язків безліч, виведіть Infinite solutions
.
Якщо розв’язок єдиний, у першому рядку виведіть два дійсні числа \(x_A\), \(y_A\) — координати точки \(A\). У другому рядку виведіть координати точки \(B\) в такому самому форматі. У цьому випадку відповідь буде вважатися правильною, якщо виконуються всі такі умови.
Відстань від точки \(A\) до прямої \(a\) не перевищує \(10^{-4}\).
Відстань від точки \(B\) до прямої \(b\) не перевищує \(10^{-4}\).
\(|AC + CB - AB| \le 10^{-4}\).
\(|AC - CB| \le 10^{-4}\).
Обмеження
Усі координати за модулем не перевищують \(100\).
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
0 0 4 4 0 0 7 -7 44 0 | 44.0000 44.0000 44.0000 -44.0000 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
-4 7 -7 4 7 4 4 7 7 7 | 3.0000000 14.0000000 11.0000000 0.0000000 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
0 0 2 0 0 2 2 2 1 1 | Infinite solutions |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
-4 7 -7 4 7 -4 4 -7 4 7 | No solutions |
Примітки
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|