Deadline:2018-05-13 22:00pmgit
一棟10層的大樓(樓層編號1-10),設3臺無限載重的電梯,初始時電梯停在1層。其中:1號電梯只能停留在奇數層,2號電梯能夠各層都停留,3號電梯只停留在第1層和偶數層。電梯移動1層的耗時爲1,在某一層停靠的耗時爲1(時間初始爲0)。電梯不容許未僕先知,必須在時間到了以後才能開始響應這條請求。
爲了使得電梯完成接送全部乘客的運行時間最短,請你編寫一個程序來進行電梯調度。github
輸入文件的文件名爲 input.txt
,其中:第一行爲一個非負整數N
,表明乘客的請求數量;接下來N行,描述了這N個請求的信息,格式爲請求時刻 起始樓層數 去往樓層
。
保證請求時刻
是單調不減的。測試
/*input example*/ 2 1 1 2 1 2 1
輸出調度決策,3部電梯分別輸出到3個文件。文件名分別爲output1.txt
、output2.txt
和output3.txt
,其中:每一行的輸出格式爲時刻 停靠樓層
。(初始時停在1層的狀態不輸出)
注意:「時刻」指的是在某層樓停靠的時刻,且不算入在該層的停靠時間。代碼規範
/*onput1.txt爲空*/ /*onput2 example*/ 3 2 /*onput3 example*/ 2 2 4 1
本次做業依然採用互測形式。代碼必須遵循必定的代碼規範,要有註釋,可讀性儘量好。code
提交到Github上的項目需新建一個名字爲3Elevators-scheduling
的文件夾,在裏面上傳本次的做業代碼。input
一個示例組織目錄以下所示(僅爲示例,命名、文件數量等未必須要遵照):博客
/ 3Elevators-scheduling / main.cpp / elevator.cpp / elevator.h ... / BIN / elevator.exe / input.txt / output.txt / Lib.dll (exe運行須要的動態連接庫文件,能夠沒有)