最新文章
这里会显示最新的几篇文章摘要。
记录生活,分享知识,与你一起成长。
这里会显示最新的几篇文章摘要。
给出三个矩形,第i个矩形的左下角坐标为(xi,yi),右上角坐标为(ai,bi)。
求同时被这三个矩形覆盖的面积。
输入共三行,第i行包含四个非负整数,依次表示xi,yi,ai,bi。
输出共1行,输出1个整数,表示最终答案。
【样例1】
0 0 2 3
1 1 3 4
0 0 99 99
【样例2】
0 0 2 3
1 1 3 4
3 4 5 6
【样例3】
10 10 22 23
1 1 23 24
3 4 25 26
【样例1】2
【样例2】0
【样例3】156
对于 30% 的数据,0 ≤ xi ≤ ai ≤ 5,0 ≤ yi ≤ bi ≤ 5。
对于 60% 的数据,0 ≤ xi ≤ ai ≤ 100,0 ≤ yi ≤ bi ≤ 100。
对于所有测评数据,0 ≤ xi ≤ ai ≤ 10^9,0 ≤ yi ≤ bi ≤ 10^9。
画图多看看,三重叠的左下角是三个矩形里左下角x和y都最大的,三重叠的右上角是三个矩阵右上角x和y最小的
#define int long long
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
//
// freopen("E:/Code/C++/untitled1/input.txt","r",stdin);
// freopen("output.txt","w",stdout);
int a[4],b[4],c[4],d[4];
for (int i = 0;i < 3;++i) cin >> a[i] >> b[i] >> c[i] >> d[i];
int x1 = max(a[0],max(a[1],a[2]));
int y1 = max(b[0],max(b[1],b[2]));
int x2 = min(c[0],min(c[1],c[2]));
int y2 = min(d[0],min(d[1],d[2]));
if (x1 <= x2 && y1 <= y2) cout << (x2-x1)*(y2-y1);
else cout << 0;
}