蓝桥练习-算法训练 Collecting Luggage
問題描述
航班結束后,提取行李的過程并不瑣碎。手提箱和行李箱出現在一條傳送帶上,數百名乘客爭奪有利的位置從中找到并取回自己的所有物。近日,成田機場管理局已決定使這一過程更加高效。在重新設計行李認領區前,他們需要一個模擬程序,使得乘客認領行李時的耗時更平均。這個模擬假定乘客們走一條由直線段組成的路徑并使用最少的時間走到他們的行李處。
對于這個問題,傳送帶被描述為一個簡單多邊形。在傳送帶的某些點上出現一件行李,然后以恒定的速度沿著傳送帶移動。乘客一開始在一個傳送帶組成的多邊形外的點。在行李出現的同時,乘客以恒定的速度(大于行李移動的速度)移動去提取行李。乘客的路徑可以接觸但不能穿過傳送帶,且能讓乘客在最短的時間內和行李位于同一個點。
在接下來這幅圖中,傳送帶被描述成多邊形ABCDEF。行李開始在左上角(A點)并按時針方向沿多邊形邊緣移動,如小箭頭所示。乘客一開始在P點,并開始按最短的時間能和行李到達同一點(圖中M點)的路徑移動。乘客的移動路徑如紅色箭頭所示。該圖對應第一個輸入樣例。
輸入格式
輸入包含一個或多個測試點來描述領取行李的場景。一個場景描述開頭一行為一個單獨的整數N(3<=N<=100),多邊形的頂點數。接下來N行每行兩個整數xi,yi,(|xi|,|yi|<=10000),按逆時針順序給出多邊形頂點的坐標。多邊形是簡單多邊形,也就是說它不自交,不重合。多邊形的描述后接下來一行兩個整數px,py(|px|,|py|<=10000),乘客起始位置所在點的坐標。接下來兩個正整數VL,VP(0<VL<VP<=10000),分別是行李和乘客的速度。所有坐標的單位是米,速度的單位是米/分鐘。
你可以假設乘客位于多邊形外。行李將會從多變形的第一個頂點開始按逆時針順序沿傳送帶移動。
輸入以一行一個單獨的0結束。
輸出格式
對于每組數據,輸出一行,包括測試數據編號(從1開始編號)和乘客取得行李的最少時間。使用格式如樣例輸出所示(用冒號隔開分鐘和秒),四舍五入到最近的整數。秒數占兩位(不足用前導0補齊)。
樣例輸入
6
0 40
0 0
20 0
20 20
40 20
40 40
120 40
70 100
4
0 0
10 0
10 10
0 10
100 100
10 11
0
樣例輸出
Case 1: Time = 1:02
Case 2: Time = 12:36
數據規模和約定
對于10%的數據,給出的多邊形保證是凸多邊形
對于20%的數據,3<=n<=4
對于40%的數據,3<=n<=50
對于100%的數據,3<=n<=100,數組組數<=10,坐標絕對值、速度<=10000
?
?
?
?
完全沒有思路啊啊啊啊啊 未完待續...
總結
以上是生活随笔為你收集整理的蓝桥练习-算法训练 Collecting Luggage的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝桥练习-算法训练 区间k大数查询
- 下一篇: Codeup墓地-问题 A: 算法7-1