思路:這個題目是求乙個點 到平面整點集的最短曼哈頓距離。等價於2次求一維 數軸上的y=|x-x0|+|x-x1|......|x-xn| 求最小的y的值。
分析:1.當數軸上只有2個點,那麼到2個點最短距離是兩個點所構成的線段長度, 此時x的取值範圍[x0,x1](閉區間).
2.當數軸上只有3個點x0,x1,x2, 那麼到3個點最短距離是除去中間那個點所構成的線段長度,此時x=x1。
ac**:
#include
#include
int cmp(const
void*a,const
void*b)
int main()
qsort(x,m,sizeof(int),cmp);
qsort(y,m,sizeof(int),cmp);
for(i=0;i2;i++)
printf("%d\n",min);
}return
0;}
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陣列是來記錄該位置是否被訪問...
NYOJ 7 街區最短路徑問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 乙個街區有很多住戶,街區的街道只能為東西 南北兩種方向。住戶只可以沿著街道行走。各個街道之間的間隔相等。用 x,y 來表示住戶坐在的街區。例如 4,20 表示使用者在東西方向第4個街道,南北方向第20個街道。現在要建乙個郵局,使...