#P2354. Titanic
Titanic
题目描述
这是一个历史事实:在传奇的“泰坦尼克号”航行期间,无线电报机曾发出次关于冰山危险的警告。每条电报消息都描述了发现冰山的位置。前条警告被传递给了船长,而第条在深夜到达,电报操作员没有注意到其中提到的坐标与船只当前位置非常接近。
请编写一个程序,用于警告操作员冰山的危险!
输入格式
输入消息的格式如下:
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>.
===
其中:
在这里, 是一个正整数, 是消息接收的时间, 和 表示“北纬(南纬) 度 分 秒和东经(西经) 度 分 秒”。
输出格式
程序应输出以下格式的消息:
The distance to the iceberg: <s> miles.
其中 <s>
是船只与冰山之间的距离(即球面上两点之间的最短路径长度),并保留位小数。如果该距离 小于(但不等于)英里,则额外输出一行:
DANGER!
示例输入 1
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.
===
示例输出 1
The distance to the iceberg: 52.04 miles.
DANGER!
提示
- 为简化计算,假设地球是一个直径为英里的理想球体,且完全被水覆盖。
- 输入文件的换行方式与示例一致。
- 船只和冰山的坐标范围符合地理坐标的常规范围:
- 纬度(
NL/SL
):到度(含)。 - 经度(
EL/WL
):到度(含)。
- 纬度(
来源
Ural Collegiate Programming Contest 1999