题目
思路
知道一个结论:在一个数轴上,求得一点x,使得数轴上所有点到该点距离之和最小。
这样把二维点分配成一维上的情况相乘即可(因为这里的二维距离是一维距离绝对值之和)。
具体证明链接
代码
#include<algorithm>
#include<iostream>
#include<cstring>
#include<string>
#include<queue>
#include<map>
#include<cstdio>
#include<cmath>
#include<stdlib.h>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int maxn = 1e6+50;
int main(){
int t;
cin >> t;
while(t--){
ll x[1050],y[1050];
int n;
scanf("%d",&n);
for(int i = 0;i < n;i++) scanf("%lld%lld",&x[i],&y[i]);
sort(x,x+n);
sort(y,y+n);
if(n%2 == 1) printf("1\n");
else printf("%lld\n",(x[n/2]-x[n/2-1]+1)*(y[n/2]-y[n/2-1]+1));
}
return 0;
}