多边形内的线段
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:intersection.in 输出文件:intersection.out
有一个 个顶点的凸多边形,顶点按顺时针方向编号为 。
现在需要执行 次线段添加操作:第 次添加的线段连接顶点 和顶点 。
请统计添加的所有线段之间形成的交点总数。
补充规则:
- 后续添加的线段与之前添加的线段不共享端点。即对于 ,满足 、 且 、 。 时也满足 ;
- 若 条线段交于同一点,该点不记作 个交点,而是按 个交点统计。
注意:交点总数与凸多边形的具体形状无关。更准确地说,只要给定 $ M、N、a_i、b_i $,交点总数就唯一确定。
输入格式
第一行两个整数 $N$ 和 $M$。
接下来 $N$ 行,每行两个整数 $a_i$ 和 $b_i$。
输出格式
输出线段之间形成的交点总数。
样例
样例 1
3 6
2 3
1 0
4 5
0
样例 2
9 18
11 6
14 2
0 17
7 13
4 12
1 16
10 3
8 15
5 9
13
样例 3
6 12
9 11
3 10
4 6
1 5
0 7
2 8
7
数据范围
对于 100% 的数据,满足 $1 \leq N \leq 10^5 $,$ 3 \leq M \leq 2 \times 10^5 $,$ 0 \leq a_i, b_i \leq M-1 $。