a547: 最短路徑
Tags : 數論
Accepted rate : 11人/26人 ( 42% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-01-06 22:06

Content

達狗是一座長方形的幸福城市,道路四通八達,而且都與達狗的邊界平行或垂直, 任意兩條相鄰且平行的道路,或者邊界與最近的平行道路的間距都恰為 1 單位距離。因為這樣的特性,我們用二維平面來描述達狗的任意路口:坐標平面上 𝑥 軸向東側為正、y 軸向北側為正,並將達狗西南側端點之坐標位置定為 (𝑥1, 𝑦1),東北側端點之坐標位置定為 (𝑥2, 𝑦2),也就是說在坐標點 (𝑥, 𝑦) 時,向東側走 1 單位距離,會到達 (𝑥+1, 𝑦);向北側走 1 單位距離,則會到達 (𝑥, 𝑦+1)。

達狗的交通非常便利:每當走到四周的邊界,就會被傳送至與該邊界平行之另一側邊界之對應位置。舉例來說,若走到北側邊界 (𝑥, 𝑦2) 上,會被傳送到 (𝑥, 𝑦1) 的位置;若走到南側邊界 (𝑥, 𝑦1) 上,會被傳送到 (𝑥, 𝑦2) 的位置。類似地,若走到東側邊界 (𝑥2, 𝑦) 上,會被傳送到 (𝑥1, 𝑦) 的位置;走到西側邊界 (𝑥1, 𝑦) 上,會被傳送 (𝑥2, 𝑦) 的位置。

現有兩個人身在達狗的不同路口,想要約在一個不在邊界上的路口會合,並且希望兩人所行走的距離總和愈短最好。兩人經過一番思考,驚覺這正是傳說中的最短路徑問題!於是已經學過最短路徑演算法的你,自告奮勇想幫忙他們計算這個問題。

Input

輸入的第一列為兩個整數 𝑥1, 𝑦1,表示達狗西南側端點之坐標位置為 (𝑥1, 𝑦1)。
輸入的第二列為兩個整數 𝑥2, 𝑦2,表示達狗東北側端點之坐標位置為 (𝑥2, 𝑦2)。
輸入的第三列為兩個整數 𝑥3, 𝑦3,表示第一個人所站的坐標位置為 (𝑥3, 𝑦3)。
輸入的第四列為兩個整數 𝑥4, 𝑦4,表示第二個人所站的坐標位置為 (𝑥4, 𝑦4)。
輸入的兩人位置不同,且 𝑥1 < 𝑥3 < 𝑥2;𝑥1 < 𝑥4 < 𝑥2;𝑦1 < 𝑦3 < 𝑦2;𝑦1 < 𝑦4 < 𝑦2。

Output

請輸出一列,其中包含一個正整數,表示這兩個人所行走的最小距離總和。

Sample Input #1
0 0
10 10
5 5
6 7
Sample Output #1
3
Sample Input #2
-2 -3
2 3
-1 -2
1 2
Sample Output #2
4
測資資訊:
記憶體限制: 64 MB
不公開 測資點#0 (10%): 1.0s , <1K
不公開 測資點#1 (10%): 1.0s , <1K
不公開 測資點#2 (10%): 1.0s , <1K
不公開 測資點#3 (10%): 1.0s , <1K
不公開 測資點#4 (10%): 1.0s , <1K
不公開 測資點#5 (10%): 1.0s , <1K
不公開 測資點#6 (10%): 1.0s , <1K
不公開 測資點#7 (10%): 1.0s , <1K
不公開 測資點#8 (10%): 1.0s , <1K
不公開 測資點#9 (10%): 1.0s , <1K
Hint :

範例說明一: 第一個人由 (5, 5) 開始往北走 2 單位,第二個人由 (6, 7) 往西走 1 單位,即可到達相同的位置 (5, 7),行走距離的總和是 3 單位,此為距離總和最短之走法。

範例說明二: 如圖北方朝上,第一個人維持不動,第二個人由 (1, 2) 往西走 2 單位,再向北走 2 單位,途中當行走 1 單位時,會先到達 (−1, 3) 之北側邊界,傳送至 (−1, −3) 後,再行走一 單位,即 可到達 (−1, −2),此為與第一個人相同的位置,行走距離的總和是 4 單位,此為距離總和最短之走法。

評分說明:
正式評分所使用的測試資料共分為 10 組,每組測試資料佔 1 分,滿分 10 分。
對於至少 4 組測試資料,𝑥1 = 𝑦1 = 0,輸入中的數值皆為非負整數,且值皆小 於 1000。
對於所有測試資料,輸入中的所有數值之絕對值皆小於 231

Tags:
數論
出處:
GMCC 範例 [管理者:
lamkinun@gma... (Kinda Lam)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」