南阳理工 7 街区最短路径问题
来源:互联网 发布:彩票遗漏数据价值 编辑:程序博客网 时间:2024/05/29 08:02
街区最短路径问题
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
一个街区有很多住户,街区的街道只能为东西、南北两种方向。
住户只可以沿着街道行走。
各个街道之间的间隔相等。
用(x,y)来表示住户坐在的街区。
例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。
现在要建一个邮局,使得各个住户到邮局的距离之和最少。
求现在这个邮局应该建在那个地方使得所有住户距离之和最小;
输入
第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
每组第一行一个整数m<20,表示本组有m个住户,下面的m行每行有两个整数0
#include<stdio.h>#include<algorithm>#include<math.h>using namespace std;struct Point{ int x; int y;};int cntLenth(int x,int y, Point dst) { return abs(x - dst.x) + abs(y - dst.y);}int main() { int n; int number; int min_x = 100, min_y = 100; int max_x = -1, max_y = -1; int minSum = 999999999,tempSum=0; int *ret; Point *arrPoint = NULL; scanf("%d", &n); ret = (int*)malloc(sizeof(int)*n); for (int i = 0; i < n;i++) { scanf("%d",&number); minSum = 99999999; if (arrPoint != NULL) { free(arrPoint); arrPoint = NULL; } arrPoint = (Point*)malloc(sizeof(Point) * number); for (int k = 0; k<number;k++) { scanf("%d %d",&arrPoint[k].x,&arrPoint[k].y); if (max_x < arrPoint[k].x) max_x = arrPoint[k].x; if (max_y < arrPoint[k].y) max_y = arrPoint[k].y; if (min_x > arrPoint[k].x) min_x = arrPoint[k].x; if (min_y > arrPoint[k].y) min_y = arrPoint[k].y; } for (int x = min_x; x <= max_x;x++) { for (int y = min_y; y <= max_y; y++) { tempSum = 0; for (int k = 0; k < number;k++) { tempSum += cntLenth(x, y, arrPoint[k]); } if (tempSum < minSum) { minSum = tempSum; } } } ret[i] = minSum; } for (int i = 0; i < n; i++) printf("%d\n", ret[i]); return 0;}
阅读全文
0 0
- 南阳理工:街区最短路径问题
- 南阳理工 7 街区最短路径问题
- 南阳理工 7街区最短路径问题
- 南阳 7 街区最短路径问题
- 南阳ACM7-街区最短路径问题
- 南阳 7 街区最短路径问题 (中位数)
- 南阳-街区最短路径
- NYOJ-7:街区最短路径问题
- nyoj 7 街区最短路径问题
- NYOJ 7-街区最短路径问题
- NYOJ 7 街区最短路径问题
- nyoj-7-街区最短路径问题
- 街区最短路径问题(nyoj 7)
- NYOJ 7 街区最短路径问题
- Nyoj 7 街区最短路径问题
- NYOJ 7 街区最短路径问题
- 7 街区最短路径问题
- NYOJ 7 街区最短路径问题
- 设计模式(6)-Bridge 桥接模式
- 本地Linux虚拟机配置jdk及Tomcat环境的安装
- 频道管理
- Java基础 | Map常用方法
- SpringMvc的文件上传和下载
- 南阳理工 7 街区最短路径问题
- 蓝桥-ALGO-9-摆动序列
- JavaScript:名字和版本
- Mecanim动画系统学习(二)
- Intellij IDEA2017入门教程
- bzoj 3207 花神的嘲讽计划Ⅰ
- 几种直播流媒体协议
- Android编译系统环境初始化过程分析
- ubuntu linux 批量删除文件