NYOJ 街區最短路徑問題

2021-07-09 22:07:21 字數 1110 閱讀 4790

時間限制:

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

我也是醉了,就是查詢x座標和y座標的中位數,然後進行計算距離即可,但是沒想到,使用者的居住地也可以設定成郵局。。。。。

#include#include#include#includeusing namespace std;

typedef struct node;

int n;

bool cmx(const node h1,const node h2)

bool cmy(const node h1,const node h2)

node node[25];

int main()

sort(node, node+n, cmx);

int x = node[n/2].x;

sort(node, node+n, cmy);

int y = node[n/2].y;

int sum = 0;

for (int i = 0; i < n; i++)

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

return 0;

}

NYOJ 街區最短路徑問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局,使...

nyoj 街區最短路徑問題

時間限制 3秒 記憶體限制 128兆 44 次提交 30 次通過 題目描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局...

NYoj 街區最短路徑問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描寫敘述 乙個街區有非常多住戶,街區的街道僅僅能為東西 南北兩種方向。住戶僅僅能夠沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。比如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。如今要建乙...