P15058 [UOI 2023 II Stage] Rectangles are everywhere

题目描述

Andriyko 喝了很多蜜饯水,现在他非常害怕矩形。Andriyko 的房间可以用一个高为 $n$、宽为 $m$ 的矩形来数学表示。在这个房间里有 $k$ 个矩形,每个矩形完全位于房间内部,且不接触点 $(0,0)$ 和 $(n,m)$(其中 $(0,0)$ 是左上角,$(n,m)$ 是右下角)。 Andriyko 想要从角落 $(0,0)$ 走到 $(n,m)$,并且绝不接触任何一个矩形(甚至不能碰到它们)。如果他位于坐标 $(x,y)$,那么他一步可以移动到以下任意一个坐标:$(x-0.5,y)$、$(x+0.5,y)$、$(x,y-0.5)$、$(x,y+0.5)$,但前提是下一个坐标不能超出矩形的边界。 请判断他能否从一个角落到达另一个角落。

输入格式

- 第一行包含三个整数 $n$、$m$、$k$($1 \le n,m \le 10^6, 1 \le k \le 5\,000$)。 - 接下来的 $k$ 行,每行包含四个整数 $x_1$、$y_1$、$x_2$、$y_2$($0 \le x_1 \le x_2 \le n; 0 \le y_1 \le y_2 \le m$)——表示第 $i$ 个矩形的左上角和右下角坐标。 保证没有矩形接触点 $(0,0)$ 和 $(n,m)$。

输出格式

如果 Andriyko 可以在房间的两端之间移动,输出 `YES`;否则输出 `NO`。

说明/提示

- ($3$ 分):$k = 1$ - ($4$ 分):$k = 2$ - ($5$ 分):$k = 3$ - ($17$ 分):$1 \le k \le 50$ - ($26$ 分):$1 \le k \le 1000$ - ($20$ 分):$1 \le n,m \le 5000$ - ($25$ 分):无额外限制。 翻译由 DeepSeek V3 完成