SP25001 CS345A1 - Red Blue Line Segments

题目描述

在一个单位正方形内,有 $n$ 条红色的垂直线段和 $n$ 条蓝色的水平线段。我们需要计算这些红线段和蓝线段相交的对数。 这些线段的生成方式如下:每条蓝色线段通过在区间 $[0, 1]$ 内生成 3 个随机数 $(x_1, x_2, y)$,这代表连接点 $(x_1, y)$ 和 $(x_2, y)$ 的线段。红色线段则通过类似的方式生成。

输入格式

第一行输入线段数量 $n$(满足 $n \leq 100000$)。 接下来的 $n$ 行描述蓝色线段,每行包含 3 个浮点数 $x_1$、$x_2$ 和 $y$,表示连接 $(x_1, y)$ 和 $(x_2, y)$ 的线段。 之后的 $n$ 行描述红色线段,每行也是 3 个浮点数 $y_1$、$y_2$ 和 $x$,表示连接 $(x, y_1)$ 和 $(x, y_2)$ 的线段。

输出格式

输出一个整数,表示红蓝两色线段相交的总数。 _提示:如果线段只是接触,也算作相交。例如,连接 $(0.1, 0.2)$ 和 $(0.3, 0.2)$ 的蓝色线段与连接 $(0.3, 0.4)$ 和 $(0.3, 0.2)$ 的红色线段相交。_ ## 数据范围 - $1 \leq n \leq 100000$ - 所有的 $x_1, x_2, y, y_1, y_2, x$ 均为 $[0, 1]$ 区间内的浮点数。 **本翻译由 AI 自动生成**