Hello 大家好我是小亦 今天看来又能讲了一道比较水但不完全水的题这道题的大概:思路结构体排序,找最左上和最右下的两个点,得画图,会形成左上和右下两个小长方性,再进行延伸,两个长方性面积相乘就行了,意思就是:问你这个红色矩阵里面,找到比紫色矩阵大的个数,这个比紫色矩阵大的还必须包含紫色矩阵,上下一共是4种可能 2 * 2,左右是3 * 2 = 6,所以是4 * 6 = 24,为什么是3和2(就是3*2=6那个),6 - 4 + 1 = 3,所以2 - 1 + 1 = 2,隔左边红色矩阵的个数+1因为,所以这不很明显嘛就是一个是个组合数问题这道题看似挺难但是只要您动动你的小脑就行了但是我觉得AC率好低啊:废话不多说贴代码:(求关注大哥大姐)
#include <bits/stdc++.h>
using namespace std;
const int N = 1000000007;
int n, a1, a2, b1, b2;
long long ans;
int main() {
cin >> n >> a1 >> a2 >> b1 >> b2;
int t;
t = a1;
a1 = min(a1, b1);
b1 = max(b1, t);
t = a2;
a2 = min(a2, b2);
b2 = max(b2, t);
int x, y;
int a = N, b = 0, c = N, d = 0;
for (int i = 1; i <= n; i++) {
cin >> x >> y;
a = min(x, a);
b = max(x, b);
c = min(y, c);
d = max(y, d);
}
a = a - a1 + 1;
b = b1 - b + 1;
c = c - a2 + 1;
d = b2 - d + 1;
ans=1ll*a*b*c*d;
ans %= N;
cout << ans << endl;
return 0;
}