街區最短路徑問題

2021-06-29 01:49:55 字數 1196 閱讀 3529

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:4 描述

乙個街區有很多住戶,街區的街道只能為東西、南北兩種方向。

住戶只可以沿著街道行走。

各個街道之間的間隔相等。

用(x,y)來表示住戶坐在的街區。

例如(4,20),表示使用者在東西方向第4個街道,南北方向第20個街道。

現在要建乙個郵局,使得各個住戶到郵局的距離之和最少。

求現在這個郵局應該建在那個地方使得所有住戶距離之和最小;

輸入第一行乙個整數n<20,表示有n組測試資料,下面是n組資料;

每組第一行乙個整數m<20,表示本組有m個住戶,下面的m行每行有兩個整數0

輸出每組資料輸出到郵局最小的距離和,回車結束;

樣例輸入

2

31 1

2 11 2

52 9

5 20

11 9

1 11 20

樣例輸出

2

44

**經典題目

上傳者iphxer

這是一道數學題!本來我打算先求出x之間的最小值和最大值,y

之間的最小值和最大值,然後在x之間找到和的最小值,在y之間

找到和的最大值!

#includestruct juli

c[20];

int abs(int n)

else

}int main()

if(c[i].amax_y)

if(c[i].b

最小距離!x是乙個線段,y是乙個線段!繼而求出來!當n是奇數

時,最小值是x[n/2+1],當n是偶數時,最小值就是a[i]上所有的點

到a[n/2]至a[n/2+1]中間任意點的距離之和!

#include#include#includeusing namespace std;

int abs(int n)

else

}int main()

sort(a+1,a+n+1);

sort(b+1,b+n+1);

if(n%2==1)

printf("%d\n",sum);

}else

printf("%d\n",sum);}}

}

街區最短路徑問題

描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局,使得各個住戶到郵局的距離之和最少。求現在這個郵局應該建在那個地方使得...

街區最短路徑問題

描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局,使得各個住戶到郵局的距離之和最少。求現在這個郵局應該建在那個地方使得...

街區最短路徑問題

描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局,使得各個住戶到郵局的距離之和最少。求現在這個郵局應該建在那個地方使得...