矩形面积交
平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。
对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入
输入仅包含两行,每行描述一个矩形。
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出
输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00
'''解题思路:由于题目中所给的一对点我们并不知道是做对角线的点还是右对角线的点,
也不知道是先给的是左下角的点还是右上角的点(以左对角线为例)。
因此我们需要先将点的位置确定,接下来就好计算了。
①根据所给的一堆点,我们可以确定(min(x1,x2),min(y1,y2))一定是左下角的点,
(max(x1,x2),max(y1,y2))一定是右上角的点。
②重新确定完点的坐标之后,我们知道,如果两个矩形有重合,那么需要满足
第一个矩形左下角的点一定小于第二个矩形右上角的点,
第一个矩形右上角的点一定大于第二个矩形左下角的点。
③若②满足情况,
将四个点的x坐标从小到大排序sort(x11,x12,x21,x22)
将四个点的y坐标从小到大排序sort(y11,y12,y21,y22)
④相交面积 = 排序后x中间的两个点的差值 * 排序后y中间两个点的差值'''
m = list(map(float,input().split()))
#m=[x1 y1 x2 y2]
n = list(map(float,input().split()))
#n=[e1 f1 e2 f2]
a = [min(m[0],m[2]),min(m[1],m[3]),max(m[0],m[2]),max(m[1],m[3])]
#a=[x11 x12 x21 x22]
b = [min(n[0],n[2]),min(n[1],n[3]),max(n[0],n[2]),max(n[1]

本文深入探讨了排序算法、动态规划和哈希算法在信息技术领域的应用,详细阐述了它们的工作原理和优缺点,并通过实例展示了如何在实际问题中有效利用这些算法。此外,还提到了数据结构如二叉树、队列和链表在解决问题中的核心作用。
最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



