NYOJ07街道的最短距离

来源:互联网 发布:淘宝手机宝贝尺寸 编辑:程序博客网 时间:2024/06/02 15:04
/*曼哈顿距离:
  |x1-x2|+|y1-y2|=s
  本题悄然转化成了两条直线问题,邮局的位置是要满足所有的横坐标与邮局的横坐标的绝对值和最小,
  所有的点的纵坐标的与邮局的纵坐标的绝对值的和的距离最小

*/

#include<stdlib.h>#define N 102int a[N],b[N];int cmp(const void *a,const void *b){   return *(int *)a>*(int *)b?1:-1;}int main(){    int t;    scanf("%d\n",&t);    int n;    int i,port;    int sum;    while(t--){            scanf("%d\n",&n);            sum=0;            for(i=0;i<n;i++)               scanf("%d%d",&a[i],&b[i]);            qsort(a,n,sizeof(int),cmp);            qsort(b,n,sizeof(int),cmp);            port=n/2;            --n;            for(int i=0;i<port;i++)               sum+=(a[n-i]-a[i]+b[n-i]-b[i]);            printf("%d\n",sum);    }}


                                             
0 0
原创粉丝点击