100 #P1977. G49 向量运算 点线关系【计算几何】[POJ2318] TOYS(数据可能有问题)
G49 向量运算 点线关系【计算几何】[POJ2318] TOYS(数据可能有问题)
题意
计算每个玩具落入的玩具盒分隔区间的数量。
约翰的父母遇到了一个问题 —— 他们的孩子约翰在玩完玩具后从不把玩具收起来。他们给约翰一个矩形盒子来放玩具,但约翰很叛逆,他只是简单地将玩具扔进盒子里。所有的玩具都混在了一起,使得约翰很难找到他最喜欢的玩具。
约翰的父母想出了以下方法:他们在盒子中放入了纸板分隔板。即使约翰仍然随意扔玩具,至少落入不同区间的玩具会被分隔开。下图显示了一个玩具盒的俯视图示例。
对于本题,你需要确定每个玩具落入哪个分隔区间。
输入
输入文件包含一个或多个问题。每个问题的第一行包含六个整数:n m x1 y1 x2 y2。
n表示纸板分区的数量(0 < n <= 10000)m表示玩具的数量(0 < m <= 10000)(x1, y1)和(x2, y2)分别是盒子的左上角和右下角坐标
接下来的 n 行,每行两个整数 Ui Li,表示第 i 块纸板分区的两端分别位于 (Ui, y1) 和 (Li, y2)。你可以假设这些纸板分区互不相交,并且按照从左到右的顺序给出。
接下来的 m 行,每行两个整数 Xj Yj,表示第 j 个玩具落在盒子中的位置。玩具的位置顺序是随机的。你可以假设没有玩具会正好落在纸板分区上或盒子外。
点和边界的范围 为 0 至 10^9 。
输入以一个单独的 0 行结束。
输出
对每个问题的输出,为盒子中的每个独立区间输出一行。
每行格式为:
分区编号: 玩具数量
区间编号从 0(最左边的区间)到 n(最右边的区间)。
不同问题的输出之间用一个空行隔开。
样例输入
5 6 0 10 60 0
3 1
4 3
6 8
10 10
15 30
1 5
2 1
2 8
5 5
40 10
7 9
4 10 0 10 100 0
20 20
40 40
60 60
80 80
5 10
15 10
25 10
35 10
45 10
55 10
65 10
75 10
85 10
95 10
0
样例输出
0: 2
1: 1
2: 1
3: 1
4: 0
5: 1
0: 2
1: 2
2: 2
3: 2
4: 2
提示
如示例所示,落在盒子边界上的玩具视为在盒子内。
相关
在下列比赛中: