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

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