GPS
Вы, как и многие другие люди, вероятно, использовали систему глобального позиционирования (GPS), но задавались вопросом, как она на самом деле работает. GPS-позиционирование основано на наборе спутников, вращающихся вокруг Земли. Все спутники имеют синхронизированные внутренние часы. Они непрерывно передают показания своих внутренних часов на поверхность Земли посредством радиоволн. Приемник GPS одновременно собирает данные измерений с некоторых спутников, находящихся в зоне видимости. Измерения времени , собранные в момент времени , обычно различны, поскольку каждый спутник находится на разном расстоянии до приемника. Поскольку мы знаем точные орбиты всех спутников, мы точно знаем, где находился каждый спутник, когда он отправил свой сигнал. Основываясь на этих позициях и расстоянии, мы можем вычислить нашу позицию. Чтобы вычислить уникальное положение, предполагая, что мы находимся на поверхности Земли, нам нужно как минимум измерения со спутников.
Ваша задача, однако, состоит не в том, чтобы вычислить собственное положение, а в том, чтобы определить, какие сигналы от каких спутников Вы получили. Если быть точным: Вам даны Ваши географические координаты на Земле и описание всех орбит спутников и теперь Вы должны определить для каждого спутника
дойдет ли до Вас сигнал, отправленный со спутника в определенное время (или он не пройдет через Землю).
если сигнал дошел до Вас, то чему равно время, за которое сигнал прошел от спутника до Вашего местоположения.
Помните, что радиоволны распространяются по прямым линиям и со скоростью света, которая, как мы предполагаем, составляет метров в секунду. Мы предполагаем, что Земля представляет собой идеальную сферу радиусом км и что все спутники GPS вращаются вокруг Земли с фиксированной скоростью по идеальным кругам, центры которых идентичны центру Земли.
Входные данные
Первая строка содержит количество спутников.
В следующей строке записаны два действительных числа — долгота и широта Вашего местоположения.
В каждой из следующих строк записаны четыре действительных числа , описывающие один из спутников.
Для долготы положительные значения представляют восток, а отрицательные значения — запад.
Для широты положительные значения представляют север, а отрицательные значения — юг.
Формат описания спутников следующий:
— отсчетная долгота, на которой орбита пересекается с экватором Земли (каждая орбита пересекает экватор как минимум дважды). Положительная долгота представляет восток, отрицательная долгота представляет запад.
— угол между орбитой и восточным экватором Земли при прохождении через экватор на долготе . Значения между и указывают на движение на север, а значения между и указывают на движение на юг. Если орбита компланарна экватору, угол будет равен или .
— радиус орбиты спутника в километрах.
— часть орбиты, которую спутник прошел на момент отправки сигнала, начиная с ее пересечения с экватором в точке .
Схематическое отображение координат спутника. Орбита спутника показана красным цветом, его фактическое положение — красная точка. На Земле экватор и нулевой меридиан отмечены линиями. Пунктирная линия копланарна экватору и имеет тот же радиус, что и орбита спутника. Углы и задаются на входе. Черная точка — это Ваше положение на Земле, и Вам следует вычислить время, необходимое сигналу для прохождения синей линии.
Примечание: Все действительные числа во входных данных имеют не более десятичных знаков. Гарантируется, что каждый спутник находится на расстоянии не менее метра от касательной плоскости в Вашей позиции (это означает, что Вы можете безопасно использовать арифметику с плавающей запятой в своем решении).
Выходные данные
Для каждого спутника не выводите сигнал, если сигнал, отправленный с этого спутника, не доходит до Вас. Если сигнал спутника дошел до Вас, выведите время, необходимое сигналу для прохождения от спутника до Вашего местоположения, в секундах. Время должно быть точным с точностью до относительной или абсолютной ошибки (в зависимости от того, что меньше) .