题目大意
有n个房子的坐标,我们要建一个展览会,距离n个房子的总距离最近,距离计算方法为|x1−x2|+|y1−y2|
题解
我们发现距离计算方法和我们平时的方法不太一样,这个方法可以将每个房子的x和y坐标直接分开计算,总值不会变,我们可以将n个房子距离展览会的x值和y值的差分别计算起来,将x和y分别排序,只要将x中间值和y的中间值的差相乘就是可以建展览会的地方的可能情况了,比如x的值为1 2 5 9,y的值为3 4 9 10,那我们的值就为(5-2)*(9-4)
#include<cstdio>
#include<algorithm>
using namespace std;
int x[1005];
int y[1005];
int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d%d",&x[i],&y[i]);
}
sort(x,x+n);
sort(y,y+n);
if(n&1){
printf("1\n");
}else{
long long ans=1ll*(x[n/2]-x[n/2-1]+1)*(y[n/2]-y[n/2-1]+1);
printf("%lld\n",ans);
}
}
}