#define min(a,b)(a<b?a:b)
#define max(a,b)(a>b?a:b)
int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
int area1,area2,area3;
area1 = (C-A) * (D-B);
area2 = (G-E) * (H-F);
if(G <= A || C <= E || H <= B || F >= D) area3 = 0;
else area3=(min(G,C)-max(A,E))*(min(H,D)-max(B,F));
return area1 + area2 - area3;
}
第一反应分类讨论,发现情形太多了,放弃。。。
找有交集时候的通解即可。