南阳理工 7 街区最短路径问题
2017-06-01 21:31
176 查看
街区最短路径问题
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
一个街区有很多住户,街区的街道只能为东西、南北两种方向。
住户只可以沿着街道行走。
各个街道之间的间隔相等。
用(x,y)来表示住户坐在的街区。
例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。
现在要建一个邮局,使得各个住户到邮局的距离之和最少。
求现在这个邮局应该建在那个地方使得所有住户距离之和最小;
输入
第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
每组第一行一个整数m<20,表示本组有m个住户,下面的m行每行有两个整数0
时间限制: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; }
相关文章推荐
- 南阳理工 7街区最短路径问题
- 南阳理工 7 街区最短路径问题
- 南阳理工:街区最短路径问题
- nyoj7街区最短路径问题
- NYOJ 7 街区最短路径问题
- 【ACM】nyoj_7_街区最短路径问题_201308051737
- 街区最短路径问题
- acm-街区最短路径问题
- NYOJ 7(街区最短路径问题)
- nyoj 7 街区最短路径问题
- nyoj7街区最短路径问题
- NYOJ 7-街区最短路径问题
- 街区最短路径问题
- 街区最短路径问题Java实现
- 街区最短路径问题
- NYOJ-7:街区最短路径问题
- 街区最短路径问题
- 开开心心学算法--街区最短路径问题的二种解法
- NYOJ 7 街区最短路径问题
- 南阳ACM7-街区最短路径问题