#P16507. [NEERC2009 Northern]Grand Theft Auto Wheel
[NEERC2009 Northern]Grand Theft Auto Wheel
题目描述
Tommy 是一名车轮窃贼。过去,他的工作非常简单:抬起汽车、卸下螺栓、取走车轮,然后逃跑。然而现在,几乎所有车辆都使用了防盗螺栓。
防盗螺栓无法使用普通扳手卸下。螺栓头是一个带孔的圆柱。与之配套的扳手有一个圆环,圆环内部带有凸起,凸起的形状与螺栓头中的孔恰好吻合。

螺栓头与配套扳手
Tommy 不可能拥有所有型号的扳手。不过,有时即使扳手与螺栓并不完全匹配,仍然可以用它卸下螺栓。
形式化地说,当且仅当以下两个条件同时成立时,一把扳手可以卸下该螺栓:
- 可以把扳手圆环套到螺栓头的圆柱上,并使扳手的凸起完全位于螺栓头的孔内;
- 固定螺栓后,扳手无法完整旋转一周。
下面给出了若干使用不完全匹配的扳手卸下螺栓的情形:

使用不匹配扳手仍能卸下螺栓的示意图
由于制造工艺限制,螺栓头的孔和扳手的凸起均为以各自中心为星形中心的星形多边形。每个多边形使用极坐标顶点序列
$$(r_1,\varphi_1),(r_2,\varphi_2),\ldots,(r_m,\varphi_m)$$描述,顶点按极角递增排列,并且相邻顶点的极角差小于 。
请判断 Tommy 拥有的哪些扳手能够卸下给定螺栓。
输入格式
第一行包含两个整数 :
- 表示扳手数量;
- 表示螺栓头圆柱和所有扳手圆环的半径。
接下来首先给出螺栓头孔的描述,然后依次给出 把扳手凸起的描述。
每个多边形的描述由以下内容组成:
- 一个整数 ,表示顶点数;
- 随后的 对整数 ,表示第 个顶点的极径和极角,极角单位为度。
输入按空白字符分隔,顶点对不一定必须各占一行。
输出格式
第一行输出一个整数,表示能够卸下螺栓的扳手数量。
第二行按递增顺序输出这些扳手的编号。若数量为零,第二行可以为空。
数据范围
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- 。
样例
输入
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