Олимпиадный тренинг

Задача . Бинарный поиск_Практика-2


Задача

Темы:
Сфера S определена центром O = (Ox, Oy, Oz) и радиусом R,
Отрезок AB определен координатами границ A = (Ax,Ay,Az), B=(Bx,By,Bz). Длина OA меньше R, а длина OB больше R.
Определите  на отрезке AB точку T, удовлетворяющую условиям:
  • T отрезка расположена внутри сферы или на сфере
  • T разбивает отрезок AB в отношении n:m, где n,m - натуральные числа  и n+m < 1000
  •  AT максимально из всех возможных
Входные данные
1 строка - четыре целых числа: радиус сферы \(R (1 \leq R\leq1000)\),  координаты центра сферы  Ox, Oy,Oz (целые числа, не превосходящие по модулю 1000).
2 строка - три целых числа: - координаты точки A (Ax,Ay,Az(целые числа, не превосходящие по модулю 1000).
3 строка - три целых числа: - координаты точки B (Bx,By,Bz(целые числа, не превосходящие по модулю 1000).
Выходные данные
Два натуральных числа - искомое отношение разбиения отрезка AB (от точки A). Числа отношения должны быть взаимно простыми и по сумме не превосходить 999
Примеры
     
10 0 0 0
2 4 6
7 6 5
115 808  
8 1 -1 2
2 -4 6
5 6 -5
​​​​​​
36 163  
 
 
 

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python2
Комментарий учителя