bzoj#P4814. [Cqoi2017]小Q的草稿

[Cqoi2017]小Q的草稿

题目描述

小 Q 是个程序员。

众所周知,程序员在写程序的时候经常需要草稿纸。小 Q 现在需要一张草稿纸用来画图,但是桌上只有一张草稿纸,而且是一张被用过很多次的草稿纸。

草稿纸可以看作一个二维平面,小 Q 甚至已经给它建立了直角坐标系。以前每一次草稿使用过的区域,都可以近似的看作一个平面上的一个三角形,这个三角形区域的内部和边界都不能再使用。当然了,以前的草稿也没有出现区域重叠的情况。

小 Q 已经在草稿纸上画上了一些关键点,这些关键点都在没使用过的区域。小 Q 想把这些关键点两两之间尽可能的用线段连接起来。连接两个关键点的线段有可能会穿过已经用过的草稿区域,这样显然不允许。于是小 Q 就想知道,有多少对关键点可以被线段连接起来,而且还不会穿过已经用过的区域。为了方便,小 Q 保证任意三个关键点不会共线。

输入格式

第一行包含两个整数 v,tv,t,表示草稿纸上的关键点数量和三角形区域数量。

接下来 vv 行,每行两个整数 x,yx, y,表示一个关键点的坐标 (x,y)(x,y)

接下来 tt 行,每行六个整数 x1,y1,x2,y2,x3,y3x_1,y_1,x_2,y_2,x_3,y_3,表示一个三角形区域的三个顶点坐标分别是 (x1,y1),(x2,y2),(x3,y3)(x_1,y_1),(x_2,y_2),(x_3,y_3),保证三角形的面积大于 00

输出格式

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

样例输入 #1

3 0
0 0
2 0
2 2

样例输出 #1

3

样例输入 #2

3 1
0 0
2 0
2 2
1 0 1 1 2 1

样例输出 #2

0

样例解释

【输入输出样例 1 说明】

整个草稿纸是全新的,任意两个关键点都可以连线。

【输入输出样例 2 说明】

如图所示,任意两个关键点的连线都被挡住了。

数据范围与约定

对于 100%100\% 的测试点,0所有坐标1080 \le \text{所有坐标} \le 10^8,且都是整数。

数据点编号 1 2 3 4 5 6 7 8 9 10
v=v= 1010 2020 5050 100100 200200 400400 600600 10001000
t=t=