一个区间的交集等于两个区间右端点的最小值减去两个区间左端点的最大值
#include<bits/stdc++.h>
using namespace std;
int arr[3][4];
int main(){
int a,b,c,d;
for(int i=0;i<=2;i++){
for(int j=0;j<=3;j++){
cin>>arr[i][j];
}
}
int area=0;
for(int i=0;i<=1;i++){
int x=arr[i][2]-arr[i][0];
int y=arr[i][3]-arr[i][1];
area=area+x*y;
}
int res=0;
for(int i=0;i<=1;i++){
int x=max(0,min(arr[i][2],arr[2][2])-max(arr[i][0],arr[2][0]));
int y=max(0,min(arr[i][3],arr[2][3])-max(arr[i][1],arr[2][1]));
res=res+x*y;
}
cout<<area-res;
return 0;
}