nyoj 7 街區最短路徑問題 數學

2021-09-06 23:12:47 字數 768 閱讀 5355

找出橫縱座標的中位數,怎麼找:先對x排序找x的中位數x0,再對y排序找y的中位數y0;最後統計各點到中位數點(x0, y0)的總距離;

時間限制:

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

#include#includeusing std::sort;

typedef structstr;

int cmpx( str a, str b )

{ if( a.x

nyoj 7 街區最短路徑問題 數學

找出橫縱座標的中位數,怎麼找 先對x排序找x的中位數x0,再對y排序找y的中位數y0 最後統計各點到中位數點 x0,y0 的總距離 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間...

NYOJ 7 街區最短路徑問題

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

NYOJ 7 街區最短路徑問題

include include includeint a 30 b 30 c 110 110 c1 110 110 e 30 f 30 a陣列存的是橫座標 b陣列存的是縱座標 因為要對a和b陣列排序 所以有新增兩個陣列e和f儲存未排序時的a與b陣列 c陣列是乙個矩陣 c1陣列是來記錄該位置是否被訪問...