#P16507. [NEERC2009 Northern]Grand Theft Auto Wheel

[NEERC2009 Northern]Grand Theft Auto Wheel

题目描述

Tommy 是一名车轮窃贼。过去,他的工作非常简单:抬起汽车、卸下螺栓、取走车轮,然后逃跑。然而现在,几乎所有车辆都使用了防盗螺栓。

防盗螺栓无法使用普通扳手卸下。螺栓头是一个带孔的圆柱。与之配套的扳手有一个圆环,圆环内部带有凸起,凸起的形状与螺栓头中的孔恰好吻合。

螺栓头与配套扳手

Tommy 不可能拥有所有型号的扳手。不过,有时即使扳手与螺栓并不完全匹配,仍然可以用它卸下螺栓。

形式化地说,当且仅当以下两个条件同时成立时,一把扳手可以卸下该螺栓:

  1. 可以把扳手圆环套到螺栓头的圆柱上,并使扳手的凸起完全位于螺栓头的孔内;
  2. 固定螺栓后,扳手无法完整旋转一周。

下面给出了若干使用不完全匹配的扳手卸下螺栓的情形:

使用不匹配扳手仍能卸下螺栓的示意图

由于制造工艺限制,螺栓头的孔和扳手的凸起均为以各自中心为星形中心的星形多边形。每个多边形使用极坐标顶点序列

$$(r_1,\varphi_1),(r_2,\varphi_2),\ldots,(r_m,\varphi_m)$$

描述,顶点按极角递增排列,并且相邻顶点的极角差小于 180180^\circ

请判断 Tommy 拥有的哪些扳手能够卸下给定螺栓。

输入格式

第一行包含两个整数 n,Rn,R

  • nn 表示扳手数量;
  • RR 表示螺栓头圆柱和所有扳手圆环的半径。

接下来首先给出螺栓头孔的描述,然后依次给出 nn 把扳手凸起的描述。

每个多边形的描述由以下内容组成:

  • 一个整数 mm,表示顶点数;
  • 随后的 mm 对整数 ri,φir_i,\varphi_i,表示第 ii 个顶点的极径和极角,极角单位为度。

输入按空白字符分隔,顶点对不一定必须各占一行。

输出格式

第一行输出一个整数,表示能够卸下螺栓的扳手数量。

第二行按递增顺序输出这些扳手的编号。若数量为零,第二行可以为空。

数据范围

  • 1n101\le n\le 10
  • 1R10001\le R\le 1000
  • 3m1003\le m\le 100
  • 1ri<R1\le r_i<R
  • 0φi<3600^\circ\le\varphi_i<360^\circ
  • φi<φi+1\varphi_i<\varphi_{i+1}
  • φi+1φi<180\varphi_{i+1}-\varphi_i<180^\circ
  • φmφ1>180\varphi_m-\varphi_1>180^\circ

样例

输入

3 10
4
9 0
9 90
9 180
9 270
4
8 45
8 135
8 225
8 315
4
6 45
6 135
6 225
6 315
3
7 0
7 90
6 225

输出

2
1 3