#P17046. [NWERC 2021] Jet Set
[NWERC 2021] Jet Set
背景
译自 Northwestern Europe Regional Contest (NWERC) 2021 Problem J。
原题许可协议为 CC BY-SA。
题目描述
你那些富有的朋友们喜欢吹嘘自己的旅行经历。每次你见到他们,他们都去过某个你从未听说过的异国地方。他们每个人都非常乐意告诉你,他们已经 环游了 世界——但你对此并不完全确信。这些旅行达人真的完成了一次 环球航行 吗?
关于“环球航行”究竟如何定义,有许多不同说法;但在本题中,我们认为一次环球航行是:从某一点出发并最终回到同一点,途中经过所有经线(经度线)。注意,北极和南极属于每一条经线。
:::align{center}

:::
图示:样例输入 #1,给出了一条从 Reykjavík 出发并回到 Reykjavík 的环球航行路线,并包含 Athens、Jakarta、Honolulu 和 Chicago 等额外航点。
你的富有朋友之一 Amelia 给了你她的飞行日志,形式是一系列航点。她的旅程从第一个航点开始,按顺序访问剩余航点,最后从最后一个航点回到第一个航点。在每两个相邻航点之间,Amelia 总是沿连接这两个点的最短圆弧旅行。请判断 Amelia 的旅程是否可以按上述意义视为一次环球航行;如果不能,请找出一条 Amelia 从未经过的经线。在这种情况下,你必须始终报告一个整数经度或半整数经度的经线。
输入格式
输入包含:
- 一行一个整数 (),表示航点数量。
- 接下来 行,每行两个整数 和 (,),表示一个航点的纬度和经度。
沿路线相邻的任意两个航点既不相同,也不是彼此的对跖点(球面上相对的点)。
输出格式
如果路线是一次合法的环球航行,输出 yes。否则,输出 no,随后输出一个路线从未经过的经度 ()。该经度必须以 .0 或 .5 结尾。
5
64 -22
38 24
-6 107
21 -158
42 -88
yes
2
80 30
75 -150
yes
4
45 0
0 -170
-45 0
0 170
no 173.5
提示
【数据规模与约定】
对于所有数据,;每个航点满足 、;相邻航点不相同且不互为对跖点;若输出未经过经线,经度必须在 内并以 .0 或 .5 结尾。