思考题:相交的几何图形

给定不超过 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 个图形相交,注意除了最后一个图形编号外,其余图形编号后面都要跟 ,,按字典顺序输出相交图形编号。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值