求 關於汽車加油站工作模擬演算法

2021-04-01 18:24:27 字數 683 閱讀 1856

日常生活中的各種配對問題,是佇列應用的典型例子.以加油站為例,假設某加油站有兩台有幫浦,每台油幫浦的加油時間為d分鐘,若已知該站的到車率為g分鐘一輛,則該加油站的工作情況可用以下列隊模型描述.

定義乙個迴圈佇列,容量為m(足夠大,不發生佇列滿的問題),用語組織等待加油的汽車序列.按照先到先加油的原則進行處理;整個模擬過車工內的時間為time,每隔t分鐘見空一次,獲取並輸出實際情況.

出事狀態設為:隊列為空(front=rear=m),每台油幫浦為空閒(pump(1)=pump(2)=0),油幫浦未服務過(auto(1)=auto(2)=-1).

整個問題可分為三部分:

1)  汽車排隊:已知一分鐘來一輛車的概率為1/g,則每隔t分鐘來一輛車的概率為t/g.由於來車的問題是隨機的,因此,實際處理時,每隔t分鐘產生乙個隨機數rnd,若它小於等於t/g,則認定有一輛車進站,應將它加入佇列中.

2)  油幫浦工作狀態:用pump(i)表示第i(i=1,2)每抬油幫浦工作程序,用auto(i)表示第i臺油幫浦的服務物件.則當第i臺油幫浦開始為一輛車工作時,置pump9i0=d-t,以後每t分鐘,令pump(i)=pump(i)-t.若pump(i)<0,說明第i臺已完成加油工作,可以繼續為下一輛車服務,因此,應從佇列中取出乙個元素繼續處理;若隊列為空,置pump(i)=0,表示空狀態.

3)  監控結果輸出:每隔t分鐘輸出一次汽車佇列現狀和每台油幫浦的工作狀態.輸出空閒狀態.

貪心演算法解汽車加油站問題

一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。對於給定的n n 5000 和k k 1000 個加油站位置,程式設計計算最少加油次數。並證明演算法能產生乙個最優解。要求 輸入 第一行有2個正整數n和k,表示汽車加滿油後可行駛n...

問題 B 加油站(貪心 模擬)

problem link 時間限制 1 sec 記憶體限制 128 mb 提交 43 解決 9 提交 狀態 討論版 一輛汽車加滿油後可行駛 n公里。旅途中有若干加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。請對於給定的 n和 k個加油站位置,計算最少加油次數。對於輸入資...

加油站(貪心演算法)

一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應 在哪些加油站停靠加油,使沿途加油次數最少。對於給定的n n 5000 和k k 1000 個加油站位置,程式設計計算最少加油次數。並證明演算法能產生乙個最優解。要求 輸入 第一行有2個正整數n和k,表示汽車加滿油後可行駛...