对于两个矩形相交,相交矩形其实就是以长为min(4,8)的横坐标-max(3,7)的横坐标,宽为min(1,5)的横坐标-max(3,7)的纵坐标坐标。同理三矩形相交等于两个矩形的相交矩形与第三个矩形的相交矩形可以直接推3个矩形的,也可以通过前两个相交矩形与第三个.
#include <bits/stdc++.h>
using namespace std;
#define N 100005
void solve(){
给出3组点坐标(x,y,w,h),−1000<x,y<1000,w,h为正整数。
(x,y,w,h)表示平面直角坐标系中的一个矩形:
x,y为矩形左上角坐标点,w,h向右w,向下h。
(x,y,w,h)表示x轴(x,x+w)和y轴(y,y−h)围成的矩形区域;
(0,0,2,2)表示x轴(0,2)和y轴(0,−2)围成的矩形区域;
(3,5,4,6)表示x轴(3,7)和y轴(5,−1)围成的矩形区域;
求3组坐标构成的矩形区域重合部分的面积。
3行输入分别为3个矩形的位置,分别代表“左上角x坐标”,“左上角y坐标”,“矩形宽”,“矩形高” −1000≤x,y<1000
输出3个矩形相交的面积,不相交的输出0。
输入
1 6 4 4
3 5 3 4
0 3 7 3
输出
2
说明