Вступление
Исторический факт: во время легендарного путешествия «Титаника» беспроводной телеграфный аппарат передал шесть предупреждений об опасности айсбергов. В каждом телеграфном сообщении описывалось место, где был замечен айсберг. Первые пять предупреждений были переданы капитану корабля. Шестое предупреждение пришло поздно ночью, и телеграфист не заметил, что указанные координаты очень близки к текущему положению судна.
Задача
Напишите программу, которая предупредит оператора об опасности айсбергов!
Исходные данные
Сообщения во входных данных имеют следующий формат:
Message #<n>.
Received at <HH>:<MM>:<SS>.
Current ship's coordinates are
<X1>^<X2>'<X3>" <NL/SL>
and <Y1>^<Y2>'<Y3>" <EL/WL>.
An iceberg was noticed at
<A1>^<A2>'<A3>" <NL/SL>
and <B1>^<B2>'<B3>" <EL/WL>.
===
Здесь <n> – положительное целое число, <HH>:<MM>:<SS> – время получения сообщения,
<X1>^<X2>'<X3>" <NL/SL> и <Y1>^<Y2>'<Y3>" <EL/WL> означает «X1 градус X2 минуты X3 секунды северной (южной) широты и Y1 градус Y2 минуты Y3 секунды восточной (западной) долготы».
Результат
Ваша программа должна вывести сообщение в следующем формате:
The distance to the iceberg: <s> miles.
Где <s> – расстояние между кораблем и айсбергом (длина кратчайшего пути на сфере между кораблем и айсбергом). Это расстояние должно быть выведено с двумя знаками после десятичной точки. Если это расстояние меньше (но не равно!) 100 милям, программа должна вывести еще одну строку с текстом:
Пример
исходные данные | результат |
---|
Message #513.
Received at 22:30:11.
Current ship's coordinates are
41^46'00" NL
and 50^14'00" WL.
An iceberg was noticed at
41^14'11" NL
and 51^09'00" WL.
===
| The distance to the iceberg: 52.04 miles.
DANGER!
|
Замечания
Для простоты расчетов считайте, что Земля является идеальной сферой диаметром 6875 миль, полностью покрытой водой. Также вы можете быть уверены, что сообщение разбито на строки в точности так, как во входном примере. Диапазоны координат судна и айсберга совпадают с обычным диапазоном географических координат, т.е. от 0 до 90 градусов включительно для северной/южной широты и от 0 до 180 градусов включительно для восточной/западной долготы.
Автор задачи: Евгений Штыков
Источник задачи: III командный студенческий чемпионат Урала по программированию. 1999 г.