#P3462. Lucky Light
Lucky Light
中文题面:
描述
我们有一个位于坐标 的点光源,其中 ,以及一组有限数量的线段,每条线段的长度均为有限且非零,并由其两个端点的坐标给出。
这些端点各不相同。所有线段均位于 轴上方。
这些线段会在 轴上投下阴影。我们假设两条线段的阴影要么完全不重叠,要么重叠部分的宽度不为零(即不会仅仅接触)。
同时,我们假设每条线段的阴影不会只是一个点,也就是说,没有线段会直接指向光源。光源的高度至少比线段端点的 坐标大 个单位。这确保了每条线段在 轴上都会有一个有限的阴影。
这些阴影将 轴划分为暗区和亮区(区间)。问题在于确定亮区的数量——如果至少有一条线段,则亮区数量至少为 (否则为 )。
在下图中,三条线段 、 和 形成了三个亮区,如图所示。

输入:
输入文件的第一行包含一个数字:表示测试用例的数量。每个测试用例的格式如下:
一行,一个整数 ,表示线段的数量,其中 。
一行,两个整数 和 ,表示光源的坐标,用单个空格分隔。坐标满足 且 。
接下来的 行,每行包含四个整数 、、和 ,用单个空格分隔,表示第 条线段的两个端点 和 的坐标,其中 , 且 , 。
输出:
对于每个测试用例,输出应包含一个数字,单独占一行:表示亮区的数量。
输入数据 1
2
3
50 60
55 45 30 35
64 39 92 18
20 30 40 16
2
-10 50
-10 1 10 11
-10 11 10 1
输出数据 1
3
2
来源
北京算法程序设计竞赛 2006 资格赛