问题描述
平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
输入仅包含两行,每行描述一个矩形。
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00
a = list(map(float, input().split()))
b = list(map(float, input().split()))
if a[0]>a[2]:
a[0],a[2] = a[2],a[0]
if a[1]>a[3]:
a[1],a[3] = a[3],a[1]
if b[0]>b[2]:
b[0],b[2] = b[2],b[0]
if b[1]>b[3]:
b[1],b[3] = b[3],b[1]
x1 = max(a[0],b[0])
y1 = max(a[1],b[1])
x2 = min(a[2],b[2])
y2 = min(a[3],b[3])
if y2<y1 or x2<x1:
c = 0
else:
c = (y2-y1)*(x2-x1)
print("{:.2f}".format(c))
推荐大家看看下面这个博客的讲解:
https://blog.csdn.net/bianxia123456/article/details/104375554
版权声明:本文为weixin_43937790原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。