Contents
Problem
從 0 層開始,藉由數台電梯搭到指定樓層,算出所需的最短時間。
每台電梯停的樓層不同,移動所需時間也不同。
Solution
從有到 0 層的電梯開始,如果不只一個就依序放進 priority_queue
。(注意從 0 層開始的耗時為 0 秒)
使用 Dijkstra’s algorithm ,每次更新 目前所選樓層 到 同電梯不同樓層 和 同樓層不同電梯 的最短時間,再用 priority_queue
找出目前離 0 層耗時最少的位置。
Code
1 |
|