矩形面积交-进阶题7

矩形面积交-进阶题7 矩形面积交题目问题描述平面上有两个矩形它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形我们给出它的一对相对顶点的坐标请你编程算出两个矩形的交的面积。输入说明输入仅包含两行每行描述一个矩形。在每行中给出矩形的一对相对顶点的坐标每个点的坐标都用两个绝对值不超过10^7的实数表示。输出说明输出仅包含一个实数为交的面积保留到小数后两位。输入范例1 1 3 3 2 2 4 4输出范例1.00解题思路本题思路是利用 区间重叠计算 模拟判断 来求两个矩形的相交面积。由于题目中矩形的边均平行于坐标轴因此可以将矩形在 x 轴方向和 y 轴方向分别看作两个区间。首先读入两个矩形的对角点坐标由于输入的两个点不一定分别是左下角和右上角需要先用 min 和 max 分别确定每个矩形的左右边界和上下边界。然后分别计算两个矩形在 x 方向的重叠长度 和 y 方向的重叠长度x 方向为 min(右边界) - max(左边界)y 方向为 min(上边界) - max(下边界)。如果两个矩形没有相交则计算结果可能为负值因此需要使用 max(0, …) 保证重叠长度不小于 0。最后将 x 方向重叠长度与 y 方向重叠长度相乘 即可得到两个矩形的交面积并按照题目要求保留两位小数输出结果。整体代码#includeiostream#includeiomanip#includealgorithmusingnamespacestd;intmain(){doublex1,y1,x2,y2;doublex3,y3,x4,y4;cinx1y1x2y2;cinx3y3x4y4;// 统一得到每个矩形的左右上下边界doubleleft1min(x1,x2);doubleright1max(x1,x2);doublebottom1min(y1,y2);doubletop1max(y1,y2);doubleleft2min(x3,x4);doubleright2max(x3,x4);doublebottom2min(y3,y4);doubletop2max(y3,y4);// 计算x方向和y方向的重叠长度doubleoverlapXmax(0.0,min(right1,right2)-max(left1,left2));doubleoverlapYmax(0.0,min(top1,top2)-max(bottom1,bottom2));// 交面积doubleareaoverlapX*overlapY;coutfixedsetprecision(2)areaendl;return0;}注意事项注意输入点不一定是左下和右上。英文段落翻译自己翻译ROM只读存储器包含了一个小的指令和叫做引导装入程序的数据集合。引导装入程序指令告诉一个数字设备怎样启动通常引导装入程序运行自我测试来查明硬件是否运行正确并且可能也证实基础程序没有被损坏他随后装载操作系统进入RAM。然而是暂时的和易失性的ROM是更加持久的和不易失的。ROM的目录甚至在设备已经关闭的时候都可以保留。大部分计算机有着另外的存储设备叫做海量存储器或者第二存储器系统。使用在个人计算机上常见的有三种类型磁性的光学的以及固态的。磁性存储器通过磁化微小的颗粒在一个硬盘或者磁带表面来表示数据。虽然第一台个人计算机使用和磁带来存储但是软磁盘存储不久后开始变得可行。现今最常见的磁性存储科技的例子是磁盘或者磁盘驱动器。AI翻译只读存储器ROM包含一小组称为引导加载程序的指令和数据。引导加载程序的指令告诉数字设备如何启动。通常引导加载程序会执行自检以确定硬件是否运行正常并可能验证基本程序是否未被损坏。随后它将操作系统加载到随机存取存储器RAM中。RAM是临时性且易失的而ROM则更具永久性且非易失。即使设备关闭ROM中的内容仍保持不变。大多数计算机还配备有称为大容量存储或辅助存储系统的附加存储设备。个人计算机常用的有三种类型磁存储、光存储和固态存储。磁存储通过在磁盘或磁带表面磁化微观粒子来表示数据。首批个人计算机使用盒式磁带进行存储但软盘存储很快便问世。如今磁存储技术最常见的例子是磁盘或称硬盘驱动器HDD。单词打卡下一篇待续