题目
题解
题意
首先在二维平面给你n个点,让你在整数坐标建一个距离这n个点最近的位置,求有多少个这样的位置。
思路
把二维平面投射到一维的x,y轴上,然后取中位数做垂线,垂线相交的点即为所求的点。
浅蓝点为所给点,深蓝点为投影,绿线就是中位数点所做出的垂线,红点即为所求点。
代码
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main() {
ll a[2021], b[2021];
ll t, n;
cin >> t;
while (t--) {
cin >> n;
for (int i = 0; i < n; i++)
cin>> a[i]>>b[i];
sort(a, a + n);
sort(b, b + n);
if (n %2==1) {
cout << 1 << endl;
}
else {
ll l = (n-1) / 2, r = n / 2;
cout << (a[r] - a[l] + 1) * (b[r] - b[l] + 1) << endl;;
}
}
return 0;
}