#P3699. [CQOI2017] 小Q的草稿

[CQOI2017] 小Q的草稿

题目描述

Q 是个程序员。

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

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

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

输入格式

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

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

接下来T行,每行六个整数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),保证三角形的面积大于0。

输出格式

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

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

提示

【输入输出样例 1 说明】

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

【输入输出样例 2 说明】

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

【数据规模与约定】

对于 100%的测试点,0 ≤ 所有坐标 ≤ 10810^8,且都是整数。

NO 1  2  3   4   5   6   7    8    9   10
V 10 20 50 100 200 400 600 1000 1000 1000
T 10 20 50 100 200 400 600 1000 1000 1000