街区最短路径问题

时间限制:3000 ms  |  内存限制:65535 KB
难度:4
描写叙述
一个街区有非常多住户,街区的街道仅仅能为东西、南北两种方向。



住户仅仅能够沿着街道行走。



各个街道之间的间隔相等。



用(x,y)来表示住户坐在的街区。



比如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。



如今要建一个邮局,使得各个住户到邮局的距离之和最少。



求如今这个邮局应该建在那个地方使得全部住户距离之和最小;

输入
第一行一个整数n<20,表示有n组測试数据,以下是n组数据;

每组第一行一个整数m<20,表示本组有m个住户,以下的m行每行有两个整数0<x,y<100,表示某个用户所在街区的坐标。

m行后是新一组的数据;
输出
每组数据输出到邮局最小的距离和,回车结束;
例子输入
2
3
1 1
2 1
1 2
5
2 9
5 20
11 9
1 1
1 20
例子输出
2
44
分析:因为仅仅能上下左右通路,所以先把横竖坐标分开,分别求他们的最值;
  
1、从平面一维分析,如果坐标轴上有1、2、3……n个点,目标点在x。 2、先求点1和n到x的距离之和。非常明显,x必须在1和n之间。 3、再求点2和n-1到x的距离之和。非常明显,x必须在2和n-1之间…… 4、如此下去,终于x的范围不断缩小,最后的位置,就是中位数的位置了。

#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int T,i,j,n,sum;
int a[110]={0};
int b[110]={0};
scanf("%d",&T);
while(T--)
{
sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&a[i],&b[i]);
}
sort(a,a+n);
sort(b,b+n);
for(j=0;j<n/2;j++)
{
sum+=(a[n-j-1]-a[j]+b[n-j-1]-b[j]);
}
printf("%d\n",sum);
}
}


NYoj-街区最短路径问题的更多相关文章

  1. NYOJ街区最短路径问题

    描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间隔相等. 用(x,y)来表示住户坐在的街区. 例如(4,20),表示用户在东西方向第4个街道, ...

  2. nyoj 7 街区最短路径问题 【数学】

    找出横纵坐标的中位数,怎么找:先对x排序找x的中位数x0,再对y排序找y的中位数y0:最后统计各点到中位数点(x0, y0)的总距离: 街区最短路径问题 时间限制:3000 ms  |  内存限制:6 ...

  3. nyoj 题目7 街区最短路径问题

    街区最短路径问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间 ...

  4. NYOJ 7 街区最短路径问题

    街区最短路径问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间 ...

  5. nyoj 7 街区最短路径问题 (曼哈顿距离(出租车几何) or 暴力)

    街区最短路径问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间 ...

  6. NYOJ7——街区最短路径问题

    街区最短路径问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4  描述:一个街区有很多住户,街区的街道只能为东西.南北两种方向.住户只可以沿着街道行走.各个街道之间的间隔相等 ...

  7. 【ACM】nyoj_7_街区最短路径问题_201308051737

    街区最短路径问题时间限制:3000 ms  |  内存限制:65535 KB 难度:4描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间隔相等. ...

  8. nyoj_7:街区最短路径问题

    做这题时,先假设目标点在某个位置,然后对其稍微移动dx,dy,分析对ans的影响.最终得,选点时,使一半的横坐标比目标点横坐标小,一半的纵坐标比目标点小,这样得到的ans最小. 题目链接: http: ...

  9. NYOJ 7-街区最短路径问题(曼哈顿距离)

    街区最短路径问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间 ...

随机推荐

  1. 设置cell背景色半透明

    cell.backgroundColor = [UIColor colorWithRed:(247.0/255.0) green:(151.0/255.0) blue:(121.0/255.0) al ...

  2. ##DAY8 界面通信

    ##DAY8 界面通信 注意:延展中写的东西只能在类内使用 #pragma mark ———————属性传值—————————— (第一个页面往第二个页面传值) 一.属性传值:(第一个页面往第二个页面 ...

  3. 转--Windows下将jar包封装成服务程序

    http://www.cppblog.com/aurain/archive/2014/01/23/205534.aspx 1 准备 使用工具Procrun(http://commons.apache. ...

  4. Add Two Numbers - C++链表操作

    题目意思很简单,两个链表分别表示两个数,将两个数相加的结果存入一个新的链表中. 思路同样很简单:两个链表如果一样长,对应位置相加,如果某一个链表多了,则根据加的结果有无进位继续处理,全部结束后要考虑会 ...

  5. ADO接口

    转自百度文库 ADO中最重要的对象有三个:Connection.Recordset和Command,分别表示连接对象.记录集对象和命令对象. 三个对象对应的智能指针分别是:_ConnectionPtr ...

  6. 《码农周刊》干货精选(Python 篇)

    <码农周刊>已经累计发送了 38 期,我们将干货内容进行了精选.此为 Python 篇. <码农周刊>往期回顾:http://weekly.manong.io/issues/ ...

  7. QT Sleep(最佳的平衡:一边发送消息,一边睡眠)

    转自:http://xiangjie88.iteye.com/blog/898417 sleep()//秒msleep()//毫秒usleep()//微秒以前为了模拟鼠标点击用过这些函数,可以让进程中 ...

  8. [置顶] LED办公楼宇照明节能方案及城市夜景照明节能方案

    LED照明办公楼宇节能方案 .通用标准灯头,可直接替换现有卤素灯.白炽灯.荧光灯.

  9. Java编程思想重点笔记

    首先声明转自https://github.com/lanxuezaipiao/ReadingNotes 无意中发现,写的蛮好转过来学习下. 1. Java中的多态性理解(注意与C++区分) Java中 ...

  10. Javascript debugger come accross error

    Problem: “Unable to attach to the process. Another debugger might be attached to the process.” Solut ...