c++满分题解:
#include<iostream>
using namespace std;
const int N = 100;
int max(int a, int b)
{
if (a > b)
return a;
else
return b;
}
int min(int a, int b)
{
if (a < b)
return a;
else
return b;
}
int main()
{
int area=0;
int n, a, b;
cin >> n >> a >> b;
int x1[N];
int y1[N];
int x2[N];
int y2[N];
for (int i = 0; i < n; i++)
{
cin >> x1[i] >> y1[i] >> x2[i] >> y2[i];
if ((min(b, y2[i]) - max(0, y1[i])) >= 0 && (min(a, x2[i]) - max(0, x1[i])) >= 0)
area = area + (min(b, y2[i]) - max(0, y1[i])) * (min(a, x2[i]) - max(0, x1[i]));
}
cout << area << endl;
return 0;
}