✔ 最佳答案
[1]
題目要求"所有各相鄰車站之間的最長距離"愈小愈好,就是指相鄰車站間的距離中的最長距離,並取該最長距離的最小值。
[2]
假如只有一個最長距離時,比方說A車站和B車站間的距離是當中最長的,然後移動A車站靠近B車站使最長距離漸漸變小,然而其他的距離漸漸大,直到出現兩個一樣的最長距離時為止,這時候就有最小的最長距離。
當然可以改移動B車站或C車站來尋找最小的最長距離,因此可以得到一個結論,環形鐵路將會出現三段一樣的最長距離,而且分別是AB車站間距離、BC車站間距離、CA車站間距離。
[3]
不失一般性,上述的AB車站中,B車站是A車站的順時鐘方向,那麼CA車站中A車站是C車站的順時鐘方向,如此當A朝B移動使距離變短,CA間的距離會變長。同理C車站是B車站的順時鐘方向。如下圖
頭----A--B-------------------------------C--A------------------------------------B--C------------------尾
(頭與尾是相連的,頭朝尾的方向便是順時鐘方向)
[4]
假設要求的距離為L。
L最大值自然就是216,這是因為只有C和C會相鄰而不會有A和A相鄰或B和B相鄰。L的最小值就是216/2=108,如果C都不與C相鄰,至少有一個車站會被安排在CC之間,那麼L最起碼要比CC距離一半還大才行。所以
108<L<216
[5]
假設AB車站中A車站座標為0,B車站為b。CA車站中C座標為c,A座標為a。BC車站中B座標為b+270b',C座標為c+216c',b'和c'分別是B和C的第幾個車站,b'=1or2,c'=1or2or3。如下圖
頭-A(0)--B(b)---------------C(c)--A(a)---------------------B-(b+270b')-C(c+216c')---------尾
那麼
L=b-0=a-c=(c+216c')-(b+270b')
[6]
考慮a=360的情況下,由方程式得到
c=360-b
2b=c-b+(216c'-270b')
上式代入下式得到
b=120+(72c'-90b')
由於L=b得到b的範圍
108<b=120+(72c'-90b')<216
化簡得到
-2/3<4c'-5b'<16/3
由b'和c'的條件得到(b' , c')=(1,2)or(2,3)or(3,4)
[7]
考慮(b' , c')=(1,2)
L=b=174
c=186
由此得出所有車站的座標,如下圖
A(0)--B(174)-------------C(186)--A(360)------------C(402)------------B(444)--C(618)------------B(714)------------A(720)------------C(834)------------B(984)------------C(1050)
車站之間的距離依序為
174 , 12 , 174 , 42 , 42 , 174 , 96 , 6 , 114 , 150 , 66 , 30
[8]
至於其他的可能,a=720或(b' , c')=(2,3)等等
均會得到最長距離L之間有一座車站的情況
只有上述的情況是合理的
小弟提供的解答僅供參考
各位大大如果有更簡潔的解法希望不吝提出
2014-08-07 03:57:35 補充:
更正
b'=1 , 2 , 3
c'=1 , 2 , 3 , 4
2014-08-07 13:46:38 補充:
更正
[6]
2b=c+(216c'-270b')