ACM (7) 街区最短路径问题

来源:互联网 发布:最新软件开发方法 编辑:程序博客网 时间:2024/06/05 23:50
#include<stdio.h>typedef struct{int x, y;}Point;int main(){freopen("input.txt", "r", stdin);int n;scanf("%d", &n);while (n--){int m;int x, y;int maxx=0, maxy=0,minx=101,miny=101;int dis;int mdis = 0xFFFFFFF;scanf("%d", &m);Point p[20];int pdx,pdy;for (int i = 0; i < m; i++){scanf("%d%d", &x, &y);maxx = maxx >= x ? maxx : x;maxy = maxy >= y ? maxy : y;minx = minx <= x ? minx : x;miny = miny <= y ? miny : y;p[i].x = x; p[i].y = y;}for (int i = minx; i < maxx+1; i++){for (int j = miny; j < maxy+1; j++){dis = 0;int yx = i;int yy = j;for (int k = 0; k < m; k++){pdx = (p[k].x - yx)>=0 ? (p[k].x - yx) : (yx - p[k].x); dis = dis + pdx;pdy = (p[k].y - yy)>=0 ? (p[k].y - yy) : (yy - p[k].y); dis = dis + pdy;}mdis = mdis > dis ? dis : mdis;}}printf("%d\n", mdis);}}

原创粉丝点击