P14291 [ICPC 2025 WF] Walking on Sunshine

题目描述

我在阳光下行走,但这感觉并不好——我的眼睛很疼! 巴库的阳光很充足。如果你背对太阳行走,或者至少垂直于它的光线行走,阳光就不会直射你的眼睛。对于本题,我们假设太阳从正南方照射。向西、向东或任何介于西和东之间且带有向北分量的方向行走,都可以避免直视太阳。如果你朝任何带有向南分量的方向行走,你的眼睛就会感到刺痛。 巴库也有许多矩形的阴影区域,停留在这些区域内可以保护你的眼睛,无论你朝哪个方向行走。例如,图 L.1 展示了两个阴影区域。 请计算你从比赛地点前往颁奖典礼地点时,必须在阳光下(即阳光刺眼的情况下)行走的最短距离。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/lhfhv5fh.png) 图 L.1: 样例输入 1 以及一条最小化阳光刺眼程度的路径。 :::

输入格式

第一行输入包含五个整数 $ n $、$ x_c $、$ y_c $、$ x_a $ 和 $ y_a $,其中 $ n $ ($ 0 \leq n \leq 10^5 $) 是阴影区域的数量,$ (x_c, y_c) $ 是比赛地点,$ (x_a, y_a) $ 是颁奖典礼地点 ($ -10^6 \leq x_c, y_c, x_a, y_a \leq 10^6 $)。太阳从正南方向北照射,即方向为从 $ (0,0) $ 到 $ (0, 1) $。如果你朝方向 $ (x, y) $ 行走,其中 $ y < 0 $ 且 $ x $ 为任意值,那么你就会直视太阳。 接下来的 $ n $ 行描述了阴影区域,它们是与坐标轴对齐的矩形。每行包含四个整数 $ x_1 $、$ y_1 $、$ x_2 $ 和 $ y_2 $ ($ -10^6 \leq x_1 < x_2 \leq 10^6 $;$ -10^6 \leq y_1 < y_2 \leq 10^6 $)。矩形的西南角是 $ (x_1, y_1) $,东北角是 $ (x_2, y_2) $。描述阴影区域的矩形之间不会相互接触或相交。

输出格式

输出你必须在阳光下(即阳光刺眼)行走的最短距离。你的答案的绝对误差或相对误差必须不超过 $ 10^{-7} $。

说明/提示

**样例 1 解释:** 图 L.1 展示了一条从比赛地点到颁奖典礼地点的最优路径,包含 5 段直线路程。在第一段,你背对太阳行走。在第二段和第四段,你虽然面向太阳行走,但位于阴影区域内。在第三段和第五段,你在阴影区域外面向太阳行走。这两段的总长度是 3。