考试中少考虑了一种情况,补上之后总算对了
#include<cstdio>
#include<iostream>
using namespace std;
int n, a, b;
int main() {
cin >> n >> a >> b;
int x1, y1, x2, y2, sum = 0;
for (int i = 0; i < n; ++i) {
cin >> x1 >> y1 >> x2 >> y2;
if (x1 >= 0 && y1 >= 0 && x1 < a && y1 < b) {
x2 = min(x2, a);
y2 = min(y2, b);
sum += (x2 - x1) * (y2 - y1);
}
else if (x1 < 0 && y1 >= 0 && y1 < b && x2 > 0) {
x1 = 0;
x2 = min(x2, a);
y2 = min(y2, b);
sum += (x2 - x1) * (y2 - y1);
}
else if (x1 < 0 && y1 < 0 && x2 > 0 && y2 > 0) {
x2 = min(x2, a);
y2 = min(y2, b);
sum += x2 * y2;
}
else if (x1 > 0 && x1 < a && y1 < 0 && y2 > 0) {
y1 = 0;
x2 = min(x2,a);
y2 = min(y2,b);
sum += (x2 - x1) * (y2 - y1);
}
}
cout << sum;
return 0;
}