SP3195 DOORSPEN - Doors and Penguins

题目描述

年度计算大会的组织者邀请了一些供应商在会议期间展览他们的最新产品。然而,当供应商们在指定的位置搭建好展位后,他们发现组织者忽视了一个重要的问题——每个供应商只支持 Doors 或者 Penguin 操作系统中的一种,不可能同时支持两种。支持某个操作系统的供应商不愿意与支持其他操作系统的供应商邻近。更糟的是,他们甚至不愿意和支持不同操作系统的供应商在同一个房间里。不幸的是,现在展位已经分配完毕并搭建好了,无法再重新安排或移动。幸好,组织者找来一些便携式隔板,希望用一道直墙将两组供应商隔开。 现在需要你的帮助,判断是否能够用这些隔板建造一面直墙,将两组供应商分隔开。注意,墙不能接触到任何展位(但可以无限接近),这样可以避免墙被不小心撞倒。

输入格式

输入由多组测试用例组成。每个测试用例的第一行包含两个用空格分隔的整数:$D$ 和 $P$,分别表示支持 Doors 和 Penguin 操作系统的供应商数量($1 \leq D, P \leq 500$)。接下来的 $D$ 行分别描述支持 Doors 操作系统的供应商的位置,之后的 $P$ 行描述支持 Penguin 操作系统的供应商的位置。每个供应商的位置用四个正整数 $x_1, y_1, x_2, y_2$ 表示:$(x_1, y_1)$ 是展位的西南角坐标,而 $(x_2, y_2)$ 是东北角坐标,这里要求 $x_1 < x_2$ 和 $y_1 < y_2$。所有展位都是矩形,并平行于坐标轴。展厅的西南角坐标为 $(0, 0)$,东北角为 $(15000, 15000)$。所有展位完全位于展厅内部,并且不会接触展厅的四壁,展位间也互不接触或重叠。输入以 $D = P = 0$ 标识结束。

输出格式

对于每个测试用例,输出格式为「Case x: 」,其中 x 是测试用例的编号,从 1 开始。然后是一个句子,如果可以将两组供应商隔开,则输出「It is possible to separate the two groups of vendors.」;否则,输出「It is not possible to separate the two groups of vendors.」。连续测试用例之间需要输出一个空行。

说明/提示

1 ≤ D, P ≤ 500 **本翻译由 AI 自动生成**