给定不超过 26
个几何图形,每个图形都有一个唯一大写字母作为其编号。
每个图形在平面中的具体位置已知,请你判断,对于每个图形,有多少个其他图形与其存在交点。
在判断交点时,只考虑边与边相交的情况,如果一个图形完全包含于另一个图形内部,则不视作相交。
输入描述:
输入包含多组测试数据。
每组数据若干行,每行描述一个图形,首先一个大写字母,表示其编号,然后一个字符串,表示其图形类别,最后若干个该图形的顶点坐标,这些输入信息都用单个空格隔开。
所有可能出现的图形类别如下:
square(正方形):如果图形是正方形,则会给出其一对对角顶点的坐标。
rectangle(矩形):如果图形是矩形,则会给出其三个顶点的坐标,保证以第一个顶点和第二个顶点为端点的线段与以第二个顶点和第三个顶点为端点的线段可以构成一个直角。
line(线段):如果图形是线段,则会给出其两个端点的坐标(保证两端点不相同)。
triangle(三角形):如果图形是三角形,则会给出其三个顶点的坐标,保证三顶点不共线。
polygon(多边形):如果图形是多边形,则首先给出一个 N,表示其顶点数量,然后以顺时针或逆时针的顺序给出其 N 个顶点的坐标,保证多边形不会与自身相交,并且所有边的长度都不为 0。
输出格式:
对于每组数据,其中的每个图形都要输出一行结果,输出时按照图形字母编号的字典顺序依次输出各个图形。
对于图形 X,输出格式必须是下列之一:
X has no intersections,如果图形 X
不与任何其他图形相交。
X intersects with A,如果图形 X 只和图形 A 相交。
X intersects with A and B,如果图形 X 只和两个图形 A,B 相交,注意按字典顺序输出相交图形编号。
X intersects with A, B, . . ., and Z,如果图形 X 与超过 2 个图形相交,注意除了最后一个图形编号外,其余图形编号后面都要跟 ,,按字典顺序输出相交图形编号。