SP332 HARDQ - Hard Question

题目描述

布拉迪斯拉发的计算机专业学生喜欢在漫长的暑假中徒步旅行和露营。他们热爱在树林中静步漫行,欣赏闪烁的瀑布,探索幽暗的洞穴,攀登陡峭的山坡,或是在帐篷中静静休息。有些人已经游览了斯洛伐克及其周边国家的所有国家公园。 由于再也找不到新的国家公园可以游览,这些学生决定自己创建一个新的国家公园(NP)。经过长时间的讨论,他们终于达成一致,确定了NP的边界。现在,他们想要从现有土地所有者手中购买所需的所有土地。由于他们的预算有限(毕竟只是学生),因此他们不想购买NP边界以外的土地。 NP可以描述为一个有 $N$ 个顶点的多边形。在售的土地是一组 $M$ 个矩形,这些矩形相互之间不相交且与坐标轴平行。你的任务是判断是否能够通过购买这些矩形的某个子集来完全覆盖预设的NP。

输入格式

输入文件包含多个测试用例,每个测试用例之间通过一个空行隔开。每个测试用例以两个整数 $N$ 和 $M$ 开始。接下来的 $N$ 行给出NP各顶点的坐标。之后的 $M$ 行中,每行描述一块土地,给出该矩形两个对角点的坐标。当 $N=0$, $M=0$ 时,表示输入结束,该行不需要处理。注意:$N, M \leq 3000$。

输出格式

对于每个测试用例,输出 `YES` 或 `NO`,表示是否可以通过选取一些矩形来完整覆盖NP。 **本翻译由 AI 自动生成**