B题:Overlapping sheets
标签:模拟、暴力
题意:给定
n
n
n个矩形的覆盖区域,求最终地图被覆盖的区域面积。
题解:数据比较小,直接二维数组标记对应点就好了,实际标记的时候,可以让$ j<b、k<d$,使得后面算面积的时候 直接计算覆盖的点的范围就好了。
代码:
#include <bits/stdc++.h>
using namespace std;
int s[200][200];
int main() {
int n;
cin >> n;
int a, b, c, d;
for (int i = 1; i <= n; i++) {
cin >> a >> b >> c >> d;
for (int j = a; j < b; j++) {
for (int k = c; k < d; k++) {
s[j][k]++;
}
}
}
int ans = 0;
for (int i = 0; i <= 100; i++) {
for (int j = 0; j <= 100; j++) {
if (s[i][j] > 0) ans++;
}
}
cout << ans << endl;
return 0;
}