Пересекаем окружности
2000 мс · 256 МБ · всё или ничего
Даны две окружности. Определите, сколько у них общих точек, и найдите эти точки.
Формат ввода
В первой строке () — количество тестов. Каждый тест — две строки по три целых числа: координаты центра и радиус первой окружности, затем второй. Координаты по модулю не превосходят , радиусы от до .
Формат вывода
Для каждого теста выведите количество общих точек (, , или , если их бесконечно много).
При одной общей точке выведите во второй строке её координаты. При двух — во второй строке координаты точки (основания перпендикуляра из точек пересечения на линию центров), в третьей длины и , а в следующих двух строках сами точки в любом порядке.
Ответ принимается с абсолютной или относительной погрешностью .
Примеры
ввод
4 3 4 5 11 4 2 3 4 5 11 4 3 3 4 5 11 4 4 3 4 5 3 4 5
вывод
0 1 8.000000000 4.000000000 2 7.562500000 4.000000000 4.562500000 2.045383521 7.562500000 6.045383521 7.562500000 1.954616479 3
ввод
2 0 0 1 0 3 1 0 0 5 0 0 3
вывод
0 0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.