错误代码
#include <bits/stdc++.h>
using namespace std;
//遍历n块田地,分别考虑横纵坐标
int main()
{
int n;
int x,y;
int x1,y1,x2,y2;
cin>>n>>x>>y;
int s=0;
for(int i=0;i<n;i++)
{
int w=0;
int h=0;
cin>>x1>>y1>>x2>>y2;
if(0<=x1<=x && 0<=x2<=x)
w=x2-x1;
else if(0<=x1<=x && x2>=x)
w=x-x1;
else if(0<=x2<=x && x1<=0)
w=x2-0;
else if(x1>=x||x2<=0)
w=0;
if(0<=y1<=y && 0<=y2<=y)
h=y2-y1;
else if(0<=y1<=y && y2>=y)
h=y-y1;
else if(0<=y2<=y && y1<=0)
h=y2-0;
else if(y1>=y||y2<=0)
h=0;
s=s+w*h;
}
cout<<s<<endl;
}
正确代码
#include <iostream>
using namespace std;
int main()
{
int n, a, b;
int x1, y1, x2, y2;
int x, y;
int sum = 0;
cin >> n >> a >> b;
for(int i = 1; i <= n; i++){
cin >> x1 >> y1 >> x2 >> y2;
x = min(a, x2) - max(0, x1);
y = min(b, y2) - max(0, y1);
if(x >= 0 && y >= 0)
sum += x * y;
}
cout << sum;
return 0;
}
我不理解