蓝桥杯练习系统答案-矩形面积交-Python

7、矩形面积交

问题描述
  平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
  输入仅包含两行,每行描述一个矩形。
  在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
  输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00

# 矩形面积交

if __name__=='__main__':
    a1,a2,a3,a4=map(float,input().split())
    b1, b2, b3, b4 = map(float,input().split())

    m1=0
    m2=0
    if a1>a3:
        a1,a3=a3,a1
    if b1>b3:
        b1,b3=b3,b1
    if a2>a4:
        a2,a4=a4,a2
    if b2 > b4:
        b2, b4 = b4, b2

    if b1>=a1 and b3<=a3:
        m1=b3-b1
    elif b1>=a1 and b1<=a3:
        m1=a3-b1
    elif b3>=a1 and b3<=a3:
        m1=b3-a1
    if b2 >= a2 and b4 <= a4:
        m2 = b4 - b2
    elif b2 >= a2 and b2 <= a4:
        m2 = a4 - b2
    elif b4 >= a2 and b4 <= a4:
        m2 = b4 - a2
    s=m1*m2
    print("%.2f" % s)

你可能感兴趣的:(算法,python,蓝桥杯)