A. Шестнадцать расстояний
2000 мс · 256 МБ · всё или ничего
Даны четыре точки , , , . По первой паре построены три объекта — отрезок , луч (из через ) и прямая ; по второй паре — отрезок , луч и прямая .
Найдите все шестнадцать расстояний: от каждого из объектов до каждого из .
Формат ввода
В первой строке () — количество запросов. В каждой из следующих строк восемь целых чисел , , , , , , , , по модулю не превосходящих .
Гарантируется, что и .
Формат вывода
Для каждого запроса выведите шестнадцать чисел в одной строке: расстояния от , от отрезка , от луча и от прямой — до , до отрезка , до луча и до прямой соответственно.
Ответ принимается с абсолютной или относительной погрешностью .
Примеры
ввод
1 1 2 7 1 5 6 8 2
вывод
5.656854249 5.600000000 5.600000000 5.600000000 4.603171645 1.414213562 1.400000000 1.400000000 4.603171645 1.150792911 0.000000000 0.000000000 4.603171645 1.150792911 0.000000000 0.000000000
ввод
3 0 0 1 0 0 1 1 1 0 0 2 0 1 0 3 0 0 0 0 5 3 1 3 4
вывод
1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 3.162277660 3.162277660 3.162277660 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000 3.000000000
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.