#P3508. [POI 2010] LAT-Lamp

[POI 2010] LAT-Lamp

Description

在半夜,Bitratio 打开了 Byteasar 所住楼房入口处的灯。

现在强光让 Byteasar 无法入睡。

虽然灯光没有直接照射到 Byteasar 的窗户上,但通过其他窗户反射到了他的窗户上。

失去睡眠的 Byteasar 变得烦躁。

为了缓解这种情况,他试图让自己分心,但他能想到的只有灯光。

因此,Byteasar 望向窗外,想知道他的邻居们是否也遭受着类似的折磨,即灯光是否也照射到了他们的窗户上。

至少在 Byteasar 看来,这是一个有趣的问题。

你比预期更早地知道了这个难题:因为无法独自解决这个问题,现在(无论是他的还是你的)对睡眠不再有任何想法,Byteasar 打电话给你寻求帮助。

你对他很了解,知道在你写出一个解决他问题的程序之前,你也无法入睡。

Byteasar 住在一栋有 个窗户的建筑中。

灯位于这栋建筑的最底部的墙上。

在这栋建筑的对面,正好相隔 10 米,有另一栋建筑,

这栋有 个窗户的建筑的墙与 Byteasar 所住建筑的墙平行。

灯光的行为如你所料,即按照几何光学(或射线光学)的预测。

即光沿着射线传播,如果射线击中窗户,则会被反射。

根据反射定律,射线的反射角等于入射角。

我们在两栋建筑的墙上引入坐标系。

两个 轴是水平的,而两个 轴是垂直的;两面墙上的坐标轴方向相同,墙上的 点彼此相对。

两栋建筑上的窗户都是矩形,边与坐标系的轴平行。

射线仅在任何窗户的内部反射;在窗户的边界上被吸收。

在每栋建筑中,没有两个窗户的内部有任何部分重叠。

灯位于 建筑的墙上,位于点 ,既不在任何窗户的内部也不在边界上。

Input Format

标准输入的第一行有两个整数 (),用一个空格分隔,表示第一栋和第二栋建筑中的窗户数量。

接下来的 行描述了 Byteasar 所住建筑( 建筑)中的窗户,每行一个。

行(对于 )包含四个整数 (、...

Output Format

标准输出的第一行,你的程序应输出 建筑中被某些射线击中的窗户数量。

你可以假设在每个测试实例中至少会有一个这样的窗户(即 Byteasar 的窗户)。

在第二行,应以递增顺序打印这些窗户的编号(窗户从 1 开始编号),用单个空格分隔。

3 3
-1 2 1 4
-1 5 1 7
-3 8 -2 20
-1 1 1 2
-1 4 1 5
-1 7 1 10
2
1 2

Hint

1000x1,i<x2,i1000-1000 \le x_{1,i} < x_{2,i} \le 10000y1,i<y2,i10000 \le y_{1,i} < y_{2,i} \le 1000

题面翻译由 ChatGPT-4o 提供。