#P3548. [POI 2013] GOB-Tapestries
[POI 2013] GOB-Tapestries
Description
Byteotian 美术馆正在举办一场挂毯展览。
从顶部看,主展厅是一个多边形(不一定是凸形)。房间的每一面墙上都挂着一幅挂毯,每幅挂毯都占据了墙壁的全部面积。
为了照亮展览,房间里安装了一盏灯,这盏灯向各个方向均匀发光。然而,有些挂毯必须充满光线,但另一些挂毯不能暴露在强光下。
策展人 Byteasar 一直在房间里移动灯,但到目前为止,他对结果并不满意。
现在,他对移动挂毯的前景感到恐惧——这需要付出很多努力,展览很快就会开幕。
也许你能告诉他,他的尝试是否注定要失败?
你的任务是确定是否有这样一个点,将灯放在其中满足以下条件:
- 根据挂在墙上的挂毯的要求,每面墙要么完全照亮,要么完全遮阳;
- 不可能有一面墙是部分照明和部分遮阳的;如果灯正好位于墙上或其延伸部分,则这面墙不会被照亮;
- 灯既不能关闭,也不能从房间里拿走;它必须严格位于房间内(即它不能放置在角落或任何墙上)。
Input Format
标准输入的第一行中有一个整数 ,表示数据集的数量。
对于每个数据集,第一行有一个整数 ,表示主展厅的墙的数量。
接下来 行,每行 个用空格隔开的整数 和 ,表示房间角落的坐标。换句话说,就是相应多边形的顶点。顶点按顺时针方向给出。
然后的的 行指定了挂毯的要求。每一行都包含一个字母 或 ,分别表示墙壁必须被照亮或遮蔽。
第 ()行中的字母表示第 个顶点和第 个顶点之间的墙,最后一行中的字母表示最后一个顶点和第一个顶点之间的墙。
描绘房间形状的多边形没有自交,即除了连续的边共享一个共同的顶点外,多边形的任何两条边都不共享一个顶点。而且没有三个顶点在一条线上。
Output Format
对于每个数据集,你的程序应该在标准输出中打印一行包含一个单词:如果灯可以满足以上要求则输出 TAK(波兰语中“是”的意思),否则输出 NIE(波兰语中表示“否”的意思)。
1
16
5 -3
4 -4
3 -7
0 -5
-3 -7
-4 -4
-5 -3
-1 -1
-4 3
-2 4
-1 2
0 7
1 2
2 4
4 3
1 -1
C
S
S
S
S
C
C
S
S
C
S
S
C
S
S
C
TAK
Hint
- 对于 的数据点,。
- 对于另外 的数据点,所有地毯都需要被照亮。
- 对于 的数据点,满足 ,,。
京公网安备 11011102002149号