QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#13050. 安全飞行

Statistics

国际公司 Yandex 的员工经常需要在公司不同的办公室之间出差。当然,在天空中只考虑工作是不可能的,所以他们会讨论周围看到的一切。

Ivan 和 Simon 想知道乘飞机旅行到底有多安全,因为有大量的航班在同一时间飞行。当然,空中交通管制员会维持安全、有序和高效的空中交通流,并防止飞机相撞。尽管如此,一个有趣的数学问题被提了出来。

给定两个航班的出发地和目的地坐标,请确定这两架飞机的航线是否交叉。

在本题中,我们假设地球是一个单位球体,且飞机沿最短路径飞行。

输入格式

输入的第一行包含测试用例的数量 $T$ ($1 \le T \le 1000$)。接下来的 $T$ 行,每行描述一个测试用例。每个测试用例设定了第一架航班和第二架航班的起点和终点位置。

点的位置由两个连续的数字指定:纬度和经度(角度以度为单位)。纬度是指定地球表面点南北位置的地理坐标。赤道的纬度为 $0^\circ$,北极的纬度为 $+90^\circ$,南极的纬度为 $-90^\circ$。经度指定地球表面点的东西位置。通过格林威治的本初子午线确立了 $0^\circ$ 经度的位置。其他地点的经度测量为从本初子午线向东或向西的角度,范围为向西至 $-180^\circ$(包含)和向东至 $+180^\circ$(不包含)。

因此,每个指定测试用例的行包含八个实数 $lat_{1,s}, lon_{1,s}, lat_{1,f}, lon_{1,f}, lat_{2,s}, lon_{2,s}, lat_{2,f}$ 和 $lon_{2,f}$,以单个空格分隔,其中 $-90 \le lat_{i,s}, lat_{i,f} \le 90$ 且 $-180 \le lon_{i,s}, lon_{i,f} < 180$,对于 $i \in \{1, 2\}$,其中 $i$ 表示航班编号;$s$ 代表起点,$f$ 代表终点。所有数字的小数点后不超过三位。不允许使用科学计数法。

保证出发城市和到达城市不位于球面上互为对跖点的位置,且不重合。

所有测试用例满足以下条件:飞行轨迹与另一航班的出发地和目的地城市之间的球面距离至少为 $10^{-7}$。

输出格式

对于每个测试用例,输出一行。如果航线交叉,输出 DANGER,否则输出 SAFELY

样例

输入 1

2
53.906 27.555 52.516 13.377 41.009 28.967 47.679 -122.132
21.286 -156.602 21.092 121.245 -17.136 49.591 -33.542 116.474

输出 1

DANGER
SAFELY

说明

考虑第一个样例。第一架飞机执行从明斯克(白俄罗斯)到柏林(德国)的短途飞行,第二架宽体客机执行从伊斯坦布尔(土耳其)到雷德蒙德(美国)的跨大西洋飞行。这两条航线在波兰上空交叉。

第二个测试用例描述了两架客机,一架飞越太平洋,另一架飞越印度洋。因此它们从不接近。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.