[离散化]图形面积

该博客介绍了一种解决方法,用于计算桌面上N个平行于坐标轴的矩形相互覆盖后形成的图形面积。通过将横坐标和纵坐标离散化并排序,然后枚举坐标来确定各个区块的面积,避免重复计算,最终得出图形的总面积。
摘要由CSDN通过智能技术生成

题目描述
桌面上放了N个平行于坐标轴的矩形,这N个矩形可能有互相覆盖的部分,求它们组成的图形的面积。
格式

输入格式

输入第一行为一个数N(1≤N≤100),表示矩形的数量。下面N行,每行四个整数,分别表示每个矩形的左下角和右上角的坐标,坐标范围为–10^8到10^8之间的整数。
输出格式

输出只有一行,一个整数,表示图形的面积。

分析
将每个横坐标离散进一个数组里,每个纵坐标离散进一个数组里。
接着分别排序。
然后枚举,枚举离散x数组里的x[i]和x[i+1]以及离散y数组里的y[i]和y[i+1](就是一个个地求区块面积)
然后还要枚举原矩形的坐标,如果现在枚举的坐标在原矩形内,那么便可以加上这个面积。同时为了防止重复相加一个区块,加完以后应当跳出第三层循环。

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
long 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值