#P16868. [ural1626]Interfering Segment
[ural1626]Interfering Segment
题目描述
一个多边形 的三角剖分,是把 划分成若干个互不重叠的三角形,并满足:
- 所有三角形的顶点都必须是 的顶点;
- 除了三角形自身的三个顶点外, 的其他顶点不能落在该三角形的边界上;
- 所有三角形的并恰好等于 。
如果线段 与三角剖分中某个三角形的边界相交或相切,则称 干扰了这个三角剖分。
给定简单多边形 和一条严格位于 内部的非零线段 ,判断是否存在一个三角剖分,使得 不干扰它。
由于任意简单多边形都可以三角剖分,因此若有解,你只需要输出某个合法三角剖分中那个严格包含整条线段 的三角形的三个顶点编号。
输入格式
第一行一个整数 :
接下来 行,每行两个整数 ,按沿多边形边界的顺序给出顶点。
保证:
- 所有顶点两两不同;
- 任意三个连续顶点不共线;
- 是简单多边形。
最后一行四个整数:
Xs Ys Xf Yf
表示线段 的两个端点。
所有坐标的绝对值均不超过 。保证 长度非零,并且严格位于多边形内部。
输出格式
如果存在满足要求的三角剖分,输出三个整数,表示其中一个严格包含 的三角形的三个顶点编号。顶点编号从 开始。
如果无解,输出:
Impossible
样例 1
3
0 0
0 3
4 3
1 2 2 2
1 2 3
样例 2
4
0 0
2 0
2 3
0 3
1 1 1 2
Impossible