eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Касательные к сферам

Касательные к сферам

Вам даны три сферы в пространстве. Найдите все их общие касательные плоскости. \InputFile В первой строке \textbf{M} --- количество тестов. Следующие \textbf{3M} строк описывают сами сферы. Каждая сфера описывается \textbf{4} числами: координатами центра и радиусом. Все числа в файле целые; известно, что все координаты от \textbf{-500} до \textbf{+500}, и радиус больше нуля и не превосходит \textbf{500}. Центры сфер не совпадают и не лежат на одной прямой. \OutputFile Для каждого теста выведите \textbf{K} --- количество различных касательных плоскостей. Следующие \textbf{K} строк описывают эти плоскости. Каждая строка --- четыре целых числа \textbf{A}; \textbf{B}; \textbf{C}; \textbf{D}, описывающих плоскость \textbf{Ax+By+Cz=D,} такие, что \textbf{A^2}+\textbf{B^2}+\textbf{C^2}=\textbf{1}. Описания плоскостей могут быть выданы в любом порядке. Выводите числа с точностью не менее \textbf{5} знаков после десятичной точки.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
1
0 0 0 1
0 2 0 1
2 0 0 1
Выходные данные #1
4
0.0000000000000000 1.0000000000000000 0.0000000000000000 1.0000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000
0.0000000000000000 0.0000000000000000 1.0000000000000000 -1.0000000000000
0.0000000000000000 0.0000000000000000 1.0000000000000000 1.0000000000000
Автор Станислав Пак
Источник Зимняя Школа, Харьков 2011