2488 矩形并的面积
- 2 秒
- 262,144 KB
- 10 分
- 2 级题
在二维平面上,给定两个矩形,满足矩形的每条边分别和坐标轴平行,求这个两个矩形的并的面积。即它们重叠在一起的总的面积。
收起
输入
8个数,分别表示第一个矩形左下角坐标为(A,B),右上角坐标为(C,D);第二个矩形左下角坐标为(E,F),右上角坐标为(G,H)。
保证A<C,B<D,E<G,F<H。
保证所有数的绝对值不超过2*10^9,矩形并的面积≤2*10^9。
输出
输出一个数表示矩阵并的面积。
输入样例
-3 0 3 4 0 -1 9 2
输出样例
45
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x1,x2,x3,x4,y1,y2,y3,y4;
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
scanf("%d %d %d %d",&x3,&y3,&x4,&y4);
int s=(x2-x1)*(y2-y1);
int ss=(x4-x3)*(y4-y3);
int x=max(min(x1,x2),min(x3,x4));
int y=max(min(y1,y2),min(y3,y4));
int xx=min(max(x1,x2),max(x3,x4));
int yy=min(max(y1,y2),max(y3,y4));
if(xx>x&&yy>y)
printf("%d\n",s+ss-(xx-x)*(yy-y));
else
printf("%d\n",s+ss);
return 0;
}