#D2130O. 切割三角形
切割三角形
题目描述
贝克金宝有N个三角形。他的儿子乔伊有一个很大的刀,准备切割这些三角形。每一次切割,乔伊能够用与x轴平行的直线(y = c)或与y轴平行的直线(x = c)对这些三角形进行切割。
你的任务是计算每一次切割,有多少个三角形会被切割。
注意: 被切割过的三角形仍看作一个三角形;
三角形被切割当且仅当三角形在直线以左的部分的面积和在直线以右的部分的面积,都应大于0。
输入
第一行是一个正整数N(2<=N<=100000),三角形的个数。
第2到N+1行 每行包含6个整数x1,y1,x2,y2,x3,y3 表示三角形的三个顶点(x1,y1),(x2,y2),(x3,y3) (保证这三个点不共线) 0<=x1,y1,x2,y2,x3,y3<=1000000
第N+2行是一个正整数M(2<=M<=100000),切割的次数。
第N+3到N+M+2行 包含一个直线方程“x = c”或“y = c”(注意等号两旁的空格) 0<=C<=1000000。
输出
每一次切割,输出一行包含切割的三角形数量。
样例
3
1 0 0 2 2 2
1 3 3 5 4 0
5 4 4 5 4 4
4
x = 4
x = 1
y = 3
y = 1
4
2 7 6 0 0 5
7 1 7 10 11 11
5 10 2 9 6 8
1 9 10 10 4 1
4
y = 6
x = 2
x = 4
x = 9
0
1
1
2
3
2
3
2
提示
【数据范围】
至少40%的数据 M<=300
另外40%的数据 三角形顶点的坐标小于1000