#221. 「Sorting Slide」 排版幻灯片

「Sorting Slide」 排版幻灯片

一些透明的幻灯片重叠在了一起,每个幻灯片上都标着它的顺序编号。

由于它们是透明的,所以无法看清每个数字究竟标在哪个幻灯片上。

1486_1.jpg

虽然我们无法直接看出每个幻灯片的具体编号,但是却可以根据推理判断出每个幻灯片的编号。

例如上图中,幻灯片被标记为A,B,C,D,其中A的编号为4,B的编号为1,C的编号为2,D的编号为3。

现在你需要编写一个程序,实现对幻灯片编号的判断。

输入格式

输入包含多组测试数据。

每组测试数据第一行包含整数 n,表示共有 n 张幻灯片。

接下来 n 行,每行包含四个整数x_min,x_max,y_min,y_maxx\_{min},x\_{max},y\_{min},y\_{max},每个都是幻灯片的边界坐标,幻灯片按输入顺序标记为A,B,C…

再接下来 n 行,每行包含两个整数,第 i 行的整数表示编号 i 的横纵坐标。

当输入一行为0时,表示输入终止。

输出格式

对于每组数据,第一行输出“Heap x”,其中x为数据编号,从1开始。

第二行输出每个幻灯片以及其对应的编号,形如(A,4),不同幻灯片输出之间用空格隔开。

如果无法判断,则输出“none”。

每组数据输出结束后,输出一个空行。

数据范围

1n261 \le n \le 26,坐标可以取负值。

输入样例:

4
6 22 10 20
4 18 6 16
8 20 2 18
10 24 4 8
9 15
19 17
11 7
21 11
2
0 2 0 2
0 2 0 2
1 1
1 1
0

输出样例:

Heap 1
(A,4) (B,1) (C,2) (D,3)

Heap 2
none

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解