展厅铭牌归位

普及⏱ 1000ms💾 256MB#P5166🏷️ 二分图匹配匈牙利算法

题目描述

展览馆的一面墙上贴了 $n$ 块透明玻璃展板(按参观顺序将它们标为字母 $A \sim Z$ 中的前 $n$ 个), 展板均为与坐标轴平行的矩形,且彼此可以重叠。另外墙上还印有 $n$ 个展位编号 $1 \sim n$,编号是一个坐标点, 每个编号必定落在至少一块展板的覆盖范围内。由于展板透明,仅凭观察无法确定每个编号属于哪块展板。 规定编号属于覆盖它的展板。请给出一种字母与编号的对应方式,使得每块展板恰好对应一个编号、每个编号恰好被对应一次; 若这样的对应不存在,或存在多种不同的对应方式,则判定无法归位。

输入格式

第一行一个整数 $n$。 接下来 $n$ 行每行四个整数 $x_{\min}, x_{\max}, y_{\min}, y_{\max}$,按出现顺序对应展板 $A, B, C, \ldots$。 再接下来 $n$ 行每行两个整数 $x, y$,依次为编号 $1 \sim n$ 的坐标。 所有坐标均为不超过 $1000$ 的非负整数。

输出格式

若无法归位,第一行输出 $None$。 否则输出 $n$ 行,按字母升序每行输出一个字母和一个编号,中间以一个空格隔开。

数据范围

None

样例输入 #1
4
22 95 9 142
230 369 29 157
407 520 19 151
618 719 12 147
511 73
673 70
331 40
82 88
样例输出 #1
A 4
B 3
C 1
D 2
样例输入 #2
6
22 128 2 64
215 343 18 89
430 560 29 102
612 680 16 80
802 893 27 166
8 155 222 358
34 289
638 42
437 76
110 18
874 164
333 24
样例输出 #2
A 4
B 6
C 3
D 2
E 5
F 1