代码及其解析:(AC80%)
思路:是把平面划成单位边长为1(面积也是1)的方格。每读入一个矩形,就把它覆盖的方格标注为已覆盖;对所有矩形都这样处理,最后统计被覆盖的方格数量即可。编码极其简单,但是比上一种方法更慢,且消耗极大的空间。
#include<iostream>
#include<cmath>
using namespace std;
int a[10000][10000]={0};
int main()
{
int n;
cin>>n;
int x1,y1,x2,y2;
int sum=0;
while(n--)
{
cin>>x1>>y1>>x2>>y2;
for(int i=min(x1,x2);i<max(x2,x1);i++)
{
for(int j=min(y1,y2);j<max(y2,y1);j++)
{
if(a[i][j]==0)
sum++;
a[i][j]=1;//进行标记
}
}
}
cout<<sum;
}