2017級面向對象程序設計 做業三

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.txtoutput2.txtoutput3.txt,其中:每一行的輸出格式爲時刻 停靠樓層。(初始時停在1層的狀態不輸出
注意:「時刻」指的是在某層樓停靠的時刻,且不算入在該層的停靠時間。代碼規範

/*onput1.txt爲空*/

/*onput2 example*/
3 2

/*onput3 example*/
2 2
4 1

博客要求

  • 選擇C或C++代碼實現,另外一種用文字描述或畫圖解釋程序應如何實現。
  • 描述整個過程當中碰到的全部困難以及解決的過程
  • 在博客開頭貼出項目的github地址

測試說明

本次做業依然採用互測形式。代碼必須遵循必定的代碼規範,要有註釋,可讀性儘量好。code

提交到Github上的項目需新建一個名字爲3Elevators-scheduling的文件夾,在裏面上傳本次的做業代碼。input

一個示例組織目錄以下所示(僅爲示例,命名、文件數量等未必須要遵照):博客

/ 3Elevators-scheduling
         / main.cpp
         / elevator.cpp
         / elevator.h  
         ...
     / BIN
         / elevator.exe
         / input.txt
         / output.txt
         / Lib.dll (exe運行須要的動態連接庫文件,能夠沒有)
相關文章
相關標籤/搜索