欢迎来到我的算法与代码笔记(建设中)

在这里记录学习之旅,分享编程心得,用二次元的活力激发灵感!

开始阅读

随笔标题一

简要摘要介绍,方便读者快速了解文章主要内容。

随笔标题二

简要摘要介绍,方便读者快速了解文章主要内容。

矩形

问题 A: 矩形

题目描述

给出三个矩形,第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。

分析

画图多看看,三重叠的左下角是三个矩形里左下角xy都最大的,三重叠的右上角是三个矩阵右上角xy最小的

代码

#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;
}
posted @   bakul  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示