两个边平行于坐标轴的矩形,求并的面积:各自面积相加再减去重叠一次。
在二维平面上给定两个边与坐标轴平行的矩形,请计算这两个矩形覆盖区域的总面积。
第一个矩形由左下角坐标 (ax1,ay1) 和右上角坐标 (ax2,ay2) 确定。
第二个矩形由左下角坐标 (bx1,by1) 和右上角坐标 (bx2,by2) 确定。
两个矩形可能发生重叠。计算总覆盖面积时,两个矩形的重叠部分只能计算一次。
输入一行,共 8 个整数 ax1、ay1、ax2、ay2、bx1、by1、bx2、by2。
其中 (ax1,ay1) 和 (ax2,ay2) 分别表示第一个矩形的左下角和右上角。
(bx1,by1) 和 (bx2,by2) 分别表示第二个矩形的左下角和右上角。
−104≤ax1≤ax2≤104
−104≤ay1≤ay2≤104
−104≤bx1≤bx2≤104
−104≤by1≤by2≤104
输出一个整数,表示两个矩形覆盖区域的总面积。
两个矩形发生重叠时,重叠部分的面积只计算一次。
输入
-3 0 3 4 0 -1 9 2
输出
45
说明
第一个矩形的面积为
(3−(−3))×(4−0)=24
第二个矩形的面积为
(9−0)×(2−(−1))=27
两个矩形的重叠区域横向范围为 0 到 3,纵向范围为 0 到 2,因此重叠面积为
(3−0)×(2−0)=6
所以两个矩形覆盖的总面积为
24+27−6=45
输入
-2 -2 2 2 -2 -2 2 2
输出
16
说明
两个矩形完全重合。
单个矩形的面积为
(2−(−2))×(2−(−2))=16
由于重叠区域不能重复计算,因此两个矩形覆盖的总面积为 16。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册