nyoj 7 街区最短路径问题

将x,y分开,题意可以理解为求在n个数中找一个点,使这个点到每个点的距离最短,相当于求中位数
#include 
#include 
#include 
using namespace std;
int main()
{
    int T,i,n,x[25],y[25];
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(i = 0 ; i < n ; i++)
         scanf("%d%d",&x[i],&y[i]);
        sort(x , x + n);
        sort(y , y + n);
        int sum = 0;
        for(i = 0 ; i < n/2 ; i++)
         sum += x[n - 1 - i] - x[i] + y[n- 1 - i] - y[i];
        printf("%d\n",sum);
    }
    return 0;
}

你可能感兴趣的:(数学)