代码及其解析:(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;}