nanyangoj 7 街区最短路径问题
2016-02-15 13:21
357 查看
http://acm.nyist.net/JudgeOnline/problem.php?pid=7
描述
一个街区有很多住户,街区的街道只能为东西、南北两种方向。
住户只可以沿着街道行走。
各个街道之间的间隔相等。
用(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
思路:
给你 n 个数 a[1]、a[2]、……、a
; 求 min(∑|a[i]-x|)
首先 把这 n 数进行排序 ans = ∑ (a[n-i]-a[i]) 1<=i<=n/2; 其实就是在一个坐标轴上有 n 个点 求一个点到所以点的最短距离和 ,由于任意两点 x1 、x2,要使
的距离和最小 则 x 必须在x1 x2 之间就行了,所以 n 个顶点排完序后 只要把 x 放在这 n 个数之间就行了
描述
一个街区有很多住户,街区的街道只能为东西、南北两种方向。
住户只可以沿着街道行走。
各个街道之间的间隔相等。
用(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
思路:
给你 n 个数 a[1]、a[2]、……、a
; 求 min(∑|a[i]-x|)
首先 把这 n 数进行排序 ans = ∑ (a[n-i]-a[i]) 1<=i<=n/2; 其实就是在一个坐标轴上有 n 个点 求一个点到所以点的最短距离和 ,由于任意两点 x1 、x2,要使
的距离和最小 则 x 必须在x1 x2 之间就行了,所以 n 个顶点排完序后 只要把 x 放在这 n 个数之间就行了
#include <cstdio> #include <algorithm> using namespace std; int x[30],y[30]; int main() { int t,n; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=1;i<=n;++i) { scanf("%d%d",x+i,y+i); } sort(x+1,x+n+1); sort(y+1,y+n+1); int sum=0; for(int i=1;i<=n/2;++i) { sum += (x[n-i+1]-x[i]+y[n-i+1]-y[i]); } printf("%d\n",sum); } return 0; }
相关文章推荐
- adaboost的过程要点理解
- usaco 1.3.1 Greedy Algorithm
- rust的应用程序和cargo 的基本使用
- Intellij之Go插件安装
- Lingo中集与数据的设置
- mongo学习笔记 -1
- mongo学习笔记 -索引 -主键
- django创建公共页
- 《Go语言编程》中calc修改后可在Windows执行的源码
- Netty与Google的protobuf使用
- unable to start the virtual device the virtual device got no ip address一个解决方法
- django时区
- poj 3107 Godfather 求树的重心
- 生成二维码 及 添加外边框和中间logo
- 航电3635-Dragon balls
- go打印堆栈
- Google Collections 、guava 简单使用
- Django使用Ajax实现页面无刷新评论回复功能
- soapserver的”looks like we got no XML document“解决方法
- Django实现国际化的步骤