蓝桥杯训练—矩形面积交
文章目录
- 一、题目
- 二、示例
- 三、解析
- 四、代码
一、题目
平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴,对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程写出两个矩形的交的面积
输入格式:
输入包含两行,每行描述一个矩形
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过107的实数表示
输出格式:
输出仅包含一个实数,为交的面积,保留到小数后两位
二、示例
输入:
1 1 3 3
2 2 4 4
输出:
1.00
三、解析
找到x轴顶点之间的距离和y轴顶点之间的距离
四、代码
python代码:
list1 = list(map(float, input().split()))
list2 = list(map(float, input().split()))
x1 = max(min(list1[0], list1[2]), min(list2[0], list2[2]))
x2 = min(max(list1[0], list1[2]), max(list2[0], list2[2]))
y1 = max(min(list1[1], list1[3]), min(list2[1], list2[3]))
y2 = min(max(list1[1], list1[3]), max(list2[1], list2[3]))
if x1 < x2 and y1 < y2:
area = (x2 - x1)*(y2 - y1)
print('%.2f' % area)
else:
print('%.2f' % 0.00)
运行结果: