P3699 [CQOI2017] 小Q的草稿

题目描述

Q 是个程序员。 众所周知,程序员在写程序的时候经常需要草稿纸。小 Q 现在需要一张草稿纸用来画图,但是桌上只有一张草稿纸,而且是一张被用过很多次的草稿纸。 草稿纸可以看作一个二维平面,小 Q 甚至已经给它建立了直角坐标系。以前每一次草稿使用过的区域,都可以近似的看作一个平面上的一个三角形,这个三角形区域的内部和边界都不能再使用。当然了,以前的草稿也没有出现区域重叠的情况。 小 Q 已经在草稿纸上画上了一些关键点,这些关键点都在没使用过的区域。小 Q 想把这些关键点两两之间尽可能的用线段连接起来。连接两个关键点的线段有可能会穿过已经用过的草稿区域,这样显然不允许。于是小 Q 就想知道,有多少对关键点可以被线段连接起来,而且还不会穿过已经用过的区域。为了方便,小 Q 保证任意三个关键点不会共线。

输入格式

第一行包含两个整数 $V, T$,表示草稿纸上的关键点数量和三角形区域数量。 接下来 $V$ 行,每行两个整数 $x, y$,表示一个关键点的坐标 $(x,y)$。 接下来 $T$ 行,每行六个整数 $x_1,y_1,x_2,y_2,x_3,y_3$,表示一个三角形区域的三个顶点坐标分别是 $(x_1,y_1),(x_2,y_2),(x_3,y_3)$,保证三角形的面积大于 $0$。

输出格式

输出一行,一个整数,表示能够被线段连接起来的关键点有多少对。

说明/提示

【输入输出样例 1 说明】 整个草稿纸是全新的,任意两个关键点都可以连线。 【输入输出样例 2 说明】 如图所示,任意两个关键点的连线都被挡住了。 ![](https://cdn.luogu.com.cn/upload/pic/5011.png) 【数据规模与约定】 对于 $100\%$ 的测试点,$0 \le x,y,x_1,y_1,x_2,y_2,x_3,y_3 \le 10^8$,且都是整数。 |测试点编号|$V\le$|$T\le$| |:-:|:-:|:-:| |$1$|$10$|$10$| |$2$|$20$|$20$| |$3$|$50$|$50$| |$4$|$100$|$100$| |$5$|$200$|$200$| |$6$|$400$|$400$| |$7$|$600$|$600$| |$8\sim10$|$1000$|$1000$|