B - Eastern Exhibition(思维)

B - Eastern Exhibition

题目

在这里插入图片描述
在这里插入图片描述

题解

题意

首先在二维平面给你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;
    }
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值