【问题描述】平面上有两个矩形A和B,其位置是任意的。编程求出其相交部分(即重叠部分)的面积。(0<a,b<1000)
【输入文件】从标准输入读取两行以空格分隔的整数,格式如下:
Ax1 Ay1 Ax2 Ay2
Bx1 By1 Bx2 By2
其中(x1,y1)为矩形一个顶点座标,(x2,y2)为前一顶点的对角顶点座标。各座标值均为整数,取值在0至1000之间。
【输出文件】向标准输出打印一个整数,是两矩形相交部分的面积(可能为0)。在输出末尾要有一个回车符。
【输入样例】
0 0 2 2
1 1 3 4
【输出样例】
1
【样例说明】输入的两个矩阵的相交面积为1
源码如下:
Ax1,Ay1,Ax2,Ay2 = [int(a) for a in input().split()]
Bx1,By1,Bx2,By2 = [int(a) for a in input().split()]
MAX_AX = max(Ax1,Ax2)
MIN_AX = min(Ax1,Ax2)
MAX_BX = max(Bx1,Bx2)
MIN_BX = min(Bx1,Bx2)
MAX_AY = max(Ay1,Ay2)
MIN_AY = min(Ay1,Ay2)
MAX_BY = max(By1,By2)
MIN_BY = min(By1,By2)
xshang = min(MAX_AX,MAX_BX)-max(MIN_AX,MIN_BX)
yshang = min(MAX_AY,MAX_BY)-max(MIN_AY,MIN_BY)
if xshang <= 0 or yshang <= 0:
print(0)
else:
print(xshang*yshang)