SP8848 HERBICID - Herbicide
题目描述
Z 教授的房子旁边有个庭院。过去的时候,他一直很喜欢打理这个庭院,常常清扫庭院和修剪花草。不过,自从开设了 JavaFF 课程后,Z 教授沉溺于布置枯燥的家庭作业,已经没时间打理自己的庭院了。
结果,杂草在庭院中疯狂生长,把院子变得杂乱不堪。上周末,Z 教授又布置了大量无聊的作业后,突然想起了他那长满杂草的庭院。他一看,决定清理这些杂草。然而,由于他还要准备下一堂 JavaFF 课的作业,他没有太多时间来处理院子的杂草问题。
他随意在地上喷洒除草剂,奇妙的是,除草剂刚好组成了几个多边形。为了判断是否需要继续这项工作,Z 教授想知道有多少杂草被除草剂覆盖。
请注意,我们假设之前喷洒的除草剂不会让杂草真正消失。换句话说,一个杂草可能会被多个多边形中的除草剂重复计数。计算这个数字似乎相当复杂。这时,他的学生 Maryanna 本来可以帮忙,可她也忙于应付那堆家庭作业。请你帮帮她吧!
输入格式
第一行输入一个整数 $T$ ($T \leq 100$),表示测试用例的数量。每个测试用例的第一行为一个整数 $N$ ($N \leq 1000$),表示院子里杂草的数量。接下来 $N$ 行,每行包含两个整数 $(X_i, Y_i)$,表示一个杂草的坐标($-10000 \leq X_i, Y_i \leq 10000$)。假设所有坐标都是独一无二的。接下来的行开始描述多边形,首先是一个整数 $M$ ($M \leq 1000$),表示被除草剂覆盖的多边形数量,这些多边形的顶点都是院子里的某个杂草点。接下去是 $M$ 个多边形的详细信息。每个多边形 $P_i$ 包括两行,第一行是一个整数 $S_i$ ($3 \leq S_i \leq N$),表示该多边形的顶点数。第二行包含 $S_i$ 个按顺时针或逆时针顺序排列的整数,表示多边形的顶点。这一行中的每个整数都是前面 $N$ 个杂草坐标的索引,索引从 1 开始。具体请参考示例输入。
输出格式
对于每个测试用例,输出 $M$ 行,每行包含一个整数,表示对应多边形所覆盖的杂草数量。如果一个杂草恰好位于多边形的边界上,那么这个杂草也被认为是覆盖的。
**本翻译由 AI 自动生成**