<div>用于管理复杂几何图形层次结构并检查相交的类</div>
Kotlin
Hard
classes
任务 «<div>用于管理复杂几何图形层次结构并检查相交的类</div>»
创建用于表示几何图形的类:Point、Circle、Rectangle。Point 类包含 x 和 y 坐标(Double 类型)。Circle 类包含圆心(Point)和半径(Double)。Rectangle 类包含左上角(Point)和右下角(Point)。在每个类中实现方法 intersects(other: Any): Boolean,如果图形与另一个图形相交(圆与圆、矩形与矩形、圆与矩形),则返回 true。对于圆和矩形,使用从圆心到矩形最近点的距离进行检测。在 main() 中从 stdin 读取图形数量 N(1 ≤ N ≤ 100),然后对于每个图形读取一行:类型("Point"、"Circle"、"Rectangle")和坐标。对于 Point:x y。对于 Circle:x y r。对于 Rectangle:x1 y1 x2 y2。对于每对图形(i < j),按对编号升序输出相交检测结果:"YES" 或 "NO"。
输入格式
整数 N。随后 N 行,每行包含图形类型及其参数(Double 类型坐标)。
输出格式
对于每一对 (i, j),其中 i < j,按 i 递增的顺序输出 "YES" 或 "NO",然后按 j 递增的顺序输出。
示例
示例 1
输入
5
1 100 100
2 200 200
3 150 300
4 300 400
5 50 1500
输出
100 400 4 750 187
1500 1500 1 50 50
示例 2
输入
0
输出
main.kt