#T2227. 交点(Intersection Points)

交点(Intersection Points)

链接: https://cses.fi/problemset/task/1740

板块: Geometry

时限: 1.00 s | 内存: 512 MB

题目描述

给定 nn 条水平与竖直的线段,你的任务是计算它们交点的数量。

你可以假设没有平行的线段相交,且线段的端点不会成为交点。

输入

第一行包含一个整数 nn:线段的数量。

接下来有 nn 行描述这些线段。每行包含四个整数 x1x_1y1y_1x2x_2y2y_2:一条线段从点 (x1,y1)(x_1,y_1) 开始,到点 (x2,y2)(x_2,y_2) 结束。

输出

输出交点的数量。

数据范围

1n1051 \le n \le 10^5 106x1x2106-10^6 \le x_1 \le x_2 \le 10^6 106y1y2106-10^6 \le y_1 \le y_2 \le 10^6 (x1,y1)(x2,y2)(x_1,y_1) \neq (x_2,y_2)

样例输入

3
2 3 7 3
3 1 3 5
6 2 6 6

样例输出

2